起:写这么长时间代码忽然死活无法运行界面出来,于是开始看入门讲解,看看一直以来默认那些代码都是在干什么的——方便排查问题。
QT,发音cute
新建一个gui的,选默认widget之后自动生成代码。
.pro是profile文件,
main.cpp,argc命令行变量数量,argv命令行变量的数组
先创建了一个QApplication的对象,在qt中这个对象有且仅有一个。
其次是创建一个widget对象,继承于QWidget。此步会进行对象构建函数里面的东西。
通过show来显示——默认是不显示的
最后这个return,是让应用程序对象进入一个循环,会在此处阻塞,代码一直运行。——这个可以通过创建一个console来试试,类似于VS的那个,但是它就不需要你用一个pause什么的,这个return就帮你做了这件事,能让窗口一直显示,直到接收到你鼠标/键盘的关闭指示,它才会关闭。
widget.h
Q_OBJECT
qt中很重要一个东西是信号和槽,这个声明有了,你才能用这个机制。尤其是你自己创建的类,需要自己添加。如果直接继承QObject或者间接继承了它,那应该会自动补充。
widget.cpp
setupUi,把你在界面上面设计的东西放上去。没有的话,你设计的并不显示。
析构函数在里面delete你创建的指针对象。有教程讲到其实qt可以自动回收什么的,但他说后面再详细讲,所以具体情况后面可能再补充。
不可避免,有加入一些控件,发现直接通过界面去生成一些代码简直懒人友好。
其实看完也没有帮助到我找到问题,我感觉自己也没问题。直到我去了解了一下自己构造函数里面的connect,它提到不同线程blabla,然后我忽然反应过来……对,说到这个,需要再补充一点是那个return,我那个代码是分两步的,就是你show之后自己添加的东西并不显示,执行完return才开始显示。
PS.看各个老师讲的,未详细考证,暂时辅助理解,有错就……再修改之。