Qt的基本框架

本文通过从main()函数出发剖析Qt的基本框架,通过代码注释的形式来一一道来.

1.新建一个控制台程序

2,在.pro文件中添加核心模块

.pro

QT +=widgets

3.新建C++文件,此时在.pro文件多了一些内容

.pro
QT +=widgets

SOURCES += \
mian.cpp

3.解析各部分的语句含义

#include "widget.h"
//QApplication应用程序类
//Qt头文件没有.h
//头文件和类名相同
//Q开头,前两个字母大写
#include <QApplication>
int main(int argc, char *argv[])
{
//有且只有一个应用程序类的对象
QApplication a(argc, argv);
// Widget继承于 QWidget QWidget是一个窗口基类
//所以Widget 也是窗口类
//w就是一个窗口
Widget w;
//窗口创建默认是隐藏的,需要人为显示
//w.show();
// a.exec();
// return 0;
//让程序一致执行,等待用户操作
//等待事件的发生
return a.exec();
}

4.添加一些控件感受Qt的魅力

#include<QApplication> //窗口控件基类
#include<QWidget>
#include<QPushButton>
int main(int argc,char** argv)
{
QApplication a(argc,argv);
QWidget w;
w.setWindowTitle(QString::fromLocal8Bit("你好"));//设置标题
//创建按钮

QPushButton b;
b.setText("^_^");
// b.show();//需要人为创建才能显示


//如果不指定父对象,窗口与窗口之间是独立的
/*构造父对象有两种方式:
* 1)setParent();
* 2)通过构造函数传参
*/
b.setParent(&w);//指定父对象
b.move(100,100);

QPushButton c(&w);//通过构造函数传参指定父对象
c.setText("wangtao");
w.show();
a.exec();

return 0;

}

一定注意指定父对象的操作,否则窗口与窗口之间是对立的

Ctrl+R,程序运行结果为:

  1. 程序从主函数开始运行,类创建的窗口对象后,开始运行此类的构造函数,以此来封装一些功能,使得程序模块化

  2. 当在构造函数中声明控件变量时,此时的变量为局部变量,因此按钮之类的东西不会显示。故在此.app文件对应的头文件声明变量,一般为私有变量

猜你喜欢

转载自blog.csdn.net/fly_wt/article/details/81742166