第一个Qt小程序
1 最简单的Qt小程序
#include "widget.h"#include int main(int argc, char *argv[]){ QApplication a(argc, argv); Widget w; w.show(); return a.exec();}
解释:
1、Qt系统提供的标准类名声明头文件没有.h后缀
2、Qt一个类对应一个头文件,类名就是头文件名
3、QApplication应用程序类
3.1管理图形用户界面应用程序的控制流和主要设置。
3.2是Qt的整个后台管理的命脉它包含主事件循环,在其中来自窗口系统和其它资源的所有事件处理和调度。它也处理应用程序的初始化和结束,并且提供对话管理。
3.2对于任何一个使用Qt的图形用户界面应用程序,都正好存在一个QApplication 对象,而不论这个应用程序在同一时间内是不是有0、1、2或更多个窗口。
4a.exec()
程序进入消息循环,等待对用户输入进行响应。这里main()把控制权转交给Qt,Qt完成事件处理工作,当应用程序退出的时候exec()的值就会返回。在exec()中,Qt接受并处理用户和系统的事件并且把它们传递给适当的窗口部件。
2按钮的创建
在Qt程序中,最常用的控件之一就是按钮了,首先我们来看下如何创建一个按钮,两种创建方式如下:
头文件: #include 第一种: QPushButton * btn = new QPushButton; //设置父亲 btn->setParent(this); //设置文字 btn->setText("德玛西亚"); //移动位置 btn->move(100,100); 第二种: QPushButton * btn2 = new QPushButton("孙悟空",this); //重新指定窗口大小 this->resize(600,400);设置窗口标题: this->setWindowTitle("第一个项目"); //限制窗口大小 this->setFixedSize(600,400);
上面代码中,一个按钮其实就是一个QPushButton类下的对象,如果只是创建出对象,是无法显示到窗口中的,所以我们需要依赖一个父窗口,也就是指定一个父亲利用setParent函数即可,如果想设置按钮上显示的文字利用setText,移动按钮位置用move
对于窗口而言,我们可以修改左上角窗口的标题setWindowTitle,重新指定窗口大小:resize,或者设置固定的窗口大小setFixedSize;
![9bb2930880692092d2e2ef81601a3e0f.png](https://i-blog.csdnimg.cn/blog_migrate/1b6ce367e201d091180b6c500d96a62d.jpeg)
3 对象模型(对象树)
在Qt中创建对象的时候会提供一个Parent对象指针,下面来解释这个parent到底是干什么的。
1、QObject是以对象树的形式组织起来的。
2、当你创建一个QObject对象时,会看到QObject的构造函数接收一个QObject指针作为参数,这个参数就是 parent,也就是父对象指针。
这相当于,在创建QObject对象时,可以提供一