1主窗口创建
1.1【makefile】配置
1 源码
QT += widgets
SOURCES += main.cpp
2 图示
1.2源码
1 源码
#include <QWidget>
#include <QApplication>
using namespace std;
int main(int argc,char *argv[])
{
QApplication a(argc,argv);
QWidget w;
w.show();
return a.exec();
}
/* 1 【QApplication】类:
* (1)含义: Qt应用程序类
* (2)作用: 提供了管理应用程序的框架、事件循环和系统级配置的基础
* (3)成员函数-处理应用程序全局事件:
* 1)【exec();】: 启动一个基础的应用程序框架,用于管理应用程序生命周期和其与用户交互的方式。
* 2)【quit();】: 退出应用程序。
* 2 【QWidget】类:
* (1)含义: 基础窗口组件类,是窗口类的基类。
* (2)作用: 创建界面
* (3)继承关系:
* 1)父类:【QObject】+【QPaintDevice】
* 2)子类:【QMainWindow】【QDialog】
* (4)成员函数-:
* 1)【show();】: 显示窗口对象。
*/
2 图示
1.3程序执行结果
2添加控件1
2.1源码
1 源码
#include <QWidget>
#include <QApplication>
#include <QPushButton>
using namespace std;
class MyWidget : public QWidget
{
public:
MyWidget()
{
btn1.show();
}
private:
QPushButton btn1;
};
int main(int argc,char *argv[])
{
QApplication a(argc,argv);
MyWidget w;
w.show();
return a.exec();
}
/* 1 【QApplication】类:
* (1)含义: Qt应用程序类
* (2)作用: 提供了管理应用程序的框架、事件循环和系统级配置的基础
* (3)成员函数-处理应用程序全局事件:
* 1)【exec();】: 启动一个基础的应用程序框架,用于管理应用程序生命周期和其与用户交互的方式。
* 2)【quit();】: 退出应用程序。
* 2 【QWidget】类:
* (1)含义: 基础窗口组件类,是窗口类的基类。
* (2)作用: 创建界面
* (3)继承关系:
* 1)父类:【QObject】+【QPaintDevice】
* 2)子类:【QMainWindow】【QDialog】
* (4)成员函数-:
* 1)【show();】: 显示窗口对象。
*/
2 图示
2.2程序执行结果
主窗口+按钮
3建立父子关系1
建立主窗口与控件1的父子关系
3.1源码
1 源码
#include <QWidget>
#include <QApplication>
#include <QPushButton>
using namespace std;
class MyWidget : public QWidget
{
public:
MyWidget():btn1(this)
{
}
private:
QPushButton btn1;
};
int main(int argc,char *argv[])
{
QApplication a(argc,argv);
MyWidget w;
w.show();
return a.exec();
}
/* 1 【QApplication】类:
* (1)含义: Qt应用程序类
* (2)作用: 提供了管理应用程序的框架、事件循环和系统级配置的基础
* (3)成员函数-处理应用程序全局事件:
* 1)【exec();】: 启动一个基础的应用程序框架,用于管理应用程序生命周期和其与用户交互的方式。
* 2)【quit();】: 退出应用程序。
* 2 【QWidget】类:
* (1)含义: 基础窗口组件类,是窗口类的基类。
* (2)作用: 创建界面
* (3)继承关系:
* 1)父类:【QObject】+【QPaintDevice】
* 2)子类:【QMainWindow】【QDialog】
* (4)成员函数-:
* 1)【show();】: 显示窗口对象。
*/
2 图示
3.2程序执行结果
控件1与主窗口建立关系
4移动控件1
4.1源码
1 源码
#include <QWidget>
#include <QApplication>
#include <QPushButton>
using namespace std;
class MyWidget : public QWidget
{
public:
MyWidget():btn1(this)
{
btn1.move(100,300);
}
private:
QPushButton btn1;
};
int main(int argc,char *argv[])
{
QApplication a(argc,argv);
MyWidget w;
w.show();
return a.exec();
}
/* 1 【QApplication】类:
* (1)含义: Qt应用程序类
* (2)作用: 提供了管理应用程序的框架、事件循环和系统级配置的基础
* (3)成员函数-处理应用程序全局事件:
* 1)【exec();】: 启动一个基础的应用程序框架,用于管理应用程序生命周期和其与用户交互的方式。
* 2)【quit();】: 退出应用程序。
* 2 【QWidget】类:
* (1)含义: 基础窗口组件类,是窗口类的基类。
* (2)作用: 创建界面
* (3)继承关系:
* 1)父类:【QObject】+【QPaintDevice】
* 2)子类:【QMainWindow】【QDialog】
* (4)成员函数-:
* 1)【show();】: 显示窗口对象。
*/
2 图示
4.2程序执行结果
5控件1添加文本
5.1源码
1 源码
#include <QWidget>
#include <QApplication>
#include <QPushButton>
using namespace std;
class MyWidget : public QWidget
{
public:
MyWidget():btn1("hello",this)
{
btn1.move(100,300);
this->resize(300,400);//设置主窗口大小
}
private:
QPushButton btn1;
};
int main(int argc,char *argv[])
{
QApplication a(argc,argv);
MyWidget w;
w.show();
return a.exec();
}
/* 1 【QApplication】类:
* (1)含义: Qt应用程序类
* (2)作用: 提供了管理应用程序的框架、事件循环和系统级配置的基础
* (3)成员函数-处理应用程序全局事件:
* 1)【exec();】: 启动一个基础的应用程序框架,用于管理应用程序生命周期和其与用户交互的方式。
* 2)【quit();】: 退出应用程序。
* 2 【QWidget】类:
* (1)含义: 基础窗口组件类,是窗口类的基类。
* (2)作用: 创建界面
* (3)继承关系:
* 1)父类:【QObject】+【QPaintDevice】
* 2)子类:【QMainWindow】【QDialog】
* (4)成员函数-:
* 1)【show();】: 显示窗口对象。
*/
2 图示
5.2程序执行结果
6添加控件2
6.1源码
1 源码
#include <QWidget>
#include <QApplication>
#include <QPushButton>
#include <QLineEdit>
using namespace std;
class MyWidget : public QWidget
{
public:
MyWidget():btn1(new QPushButton("hello",this)),lineEdit1(new QLineEdit(this))
{
btn1->move(100,300);
lineEdit1->move(200,300);
this->resize(300,400);//设置主窗口大小
}
private:
QPushButton *btn1;
QLineEdit *lineEdit1;
};
int main(int argc,char *argv[])
{
QApplication a(argc,argv);
MyWidget w;
w.show();
return a.exec();
}
/* 1 【QApplication】类:
* (1)含义: Qt应用程序类
* (2)作用: 提供了管理应用程序的框架、事件循环和系统级配置的基础
* (3)成员函数-处理应用程序全局事件:
* 1)【exec();】: 启动一个基础的应用程序框架,用于管理应用程序生命周期和其与用户交互的方式。
* 2)【quit();】: 退出应用程序。
* 2 【QWidget】类:
* (1)含义: 基础窗口组件类,是窗口类的基类。
* (2)作用: 创建界面
* (3)继承关系:
* 1)父类:【QObject】+【QPaintDevice】
* 2)子类:【QMainWindow】【QDialog】
* (4)成员函数-:
* 1)【show();】: 显示窗口对象。
*/
2 图示
6.2程序执行结果
7布局管理器
7.1源码
1 源码
#include <QWidget>
#include <QApplication>
#include <QPushButton>
#include <QLineEdit>
#include <QHBoxLayout>
using namespace std;
class MyWidget : public QWidget
{
public:
MyWidget():btn1(new QPushButton("hello",this)),lineEdit1(new QLineEdit(this))
{
/* 1.1 创建水平布局管理器*/
QHBoxLayout *hlayout1=new QHBoxLayout;
/* 1.2 利用水平布局管理器管理窗口控件*/
hlayout1->addWidget(btn1);
hlayout1->addWidget(lineEdit1);
/*创建垂直布局管理器*/
QVBoxLayout *vlayout=new QVBoxLayout;
/*利用垂直布局管理器管理窗口控件*/
vlayout->addLayout(hlayout1);
/* 1.3 设置布局管理器*/
this->setLayout(vlayout);
this->resize(300,400);//设置主窗口大小
}
private:
QPushButton *btn1;
QLineEdit *lineEdit1;
};
int main(int argc,char *argv[])
{
QApplication a(argc,argv);
MyWidget w;
w.show();
return a.exec();
}
/* 1 【QApplication】类:
* (1)含义: Qt应用程序类
* (2)作用: 提供了管理应用程序的框架、事件循环和系统级配置的基础
* (3)成员函数-处理应用程序全局事件:
* 1)【exec();】: 启动一个基础的应用程序框架,用于管理应用程序生命周期和其与用户交互的方式。
* 2)【quit();】: 退出应用程序。
* 2 【QWidget】类:
* (1)含义: 基础窗口组件类,是窗口类的基类。
* (2)作用: 创建界面
* (3)继承关系:
* 1)父类:【QObject】+【QPaintDevice】
* 2)子类:【QMainWindow】【QDialog】
* (4)成员函数-:
* 1)【show();】: 显示窗口对象。
*/
源码封装
#include <QWidget>
#include <QApplication>
#include <QPushButton>
#include <QLineEdit>
#include <QHBoxLayout>
using namespace std;
class MyWidget : public QWidget
{
public:
MyWidget():btn1(new QPushButton("hello",this)),lineEdit1(new QLineEdit(this))
{
setupUi();
}
void setupUi()
{
/* 1.1 创建水平布局管理器*/
QHBoxLayout *hlayout1=new QHBoxLayout;
/* 1.2 利用水平布局管理器管理窗口控件*/
hlayout1->addWidget(btn1);
hlayout1->addWidget(lineEdit1);
/*创建垂直布局管理器*/
QVBoxLayout *vlayout=new QVBoxLayout;
/*利用垂直布局管理器管理窗口控件*/
vlayout->addLayout(hlayout1);
/* 1.3 设置布局管理器*/
this->setLayout(vlayout);
this->resize(300,400);//设置主窗口大小
}
private:
QPushButton *btn1;
QLineEdit *lineEdit1;
};
int main(int argc,char *argv[])
{
QApplication a(argc,argv);
MyWidget w;
w.show();
return a.exec();
}
/* 1 【QApplication】类:
* (1)含义: Qt应用程序类
* (2)作用: 提供了管理应用程序的框架、事件循环和系统级配置的基础
* (3)成员函数-处理应用程序全局事件:
* 1)【exec();】: 启动一个基础的应用程序框架,用于管理应用程序生命周期和其与用户交互的方式。
* 2)【quit();】: 退出应用程序。
* 2 【QWidget】类:
* (1)含义: 基础窗口组件类,是窗口类的基类。
* (2)作用: 创建界面
* (3)继承关系:
* 1)父类:【QObject】+【QPaintDevice】
* 2)子类:【QMainWindow】【QDialog】
* (4)成员函数-:
* 1)【show();】: 显示窗口对象。
*/
2 图示