欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

《Qt快速入门》--- Qt的大致了解

程序员文章站 2022-07-12 15:46:17
...

       上一周,学校的程序设计周,要做个小程序:四则运算的自测系统。程序很简单,如果认真写的话,我应该可以在两天内就可以搞定,不过想想程序设计周有整整两周时间,如果只是写这么一个简单的程序,真的是有点浪费了。于是琢磨着,要不弄个图形化界面,毕竟大一的程序设计,就是只写了一个控制台界面。现在都大三了,再写一个控制台界面,实在是太low点了。

      想法是很好,可是图形化界面咋整呢,思来想去。虽说python、java写图形化界面更简单些,奈何自己只对c/c++熟啊。。。。用C++写图形化界面,由于C没有图形的库,只能借助MFC或者QT了。MFC那玩意,很老了,比较难搞,相比之下,QT就比较友好了,于是果断选择了QT。

     接下来就是恶补QT啦。找了一门课程,看着评价不错,实际上看下来,也感觉不错,网址贴上,安利一下吧:https://study.163.com/course/courseMain.htm?courseId=1005069007

下面记录一下自己学习上的一点总结:

① 程序运行起来,动力是事件,而事件分为两类:点击和键盘输入。

② 由于事件的发生时间是不确定的,所以程序得不停地监听。

③ 写一个QT程序,要考虑两件事:1.界面怎么写(外观)2.怎么处理事件(功能)

④ QT的main函数一般都是:

#inlcude <QtGui/QApplication>

#inlcude "dialog.h"

int main ( int argc, char *argv[])

{

    QApplication a (argc,argv);          //创建一个名叫a的
    
    Dialog w;            //创建一个名叫w的对话框

    w.show();            //显示这个对话框

    return a.exec();        //进入消息循环

}

return a.exec()这句使程序进入消息循环,等待可能输入进行响应。这里main()把控制权转交给Qt,Qt完成事件处理工作,当应用程序退出的时候exec()的值就会返回。在exec()中,Qt接受并处理用户和系统的事件并且把它们传递给适当的窗口部件。

⑤ 在QT中,一个窗口就对应一个类,每一个窗口的显示都是一个类的实例运行。而每个窗口对应三个文件:xx.h、xx.cpp、xx.ui。

xx.ui是窗口的ui文件,用于设置窗口的外观,xx.h是窗口的头文件,用于存放类的声明,函数的声明,xx.cpp包含xx.h头文件,用于存放类的实现定义,函数的实现。

⑥ QT采用MVC模式,M是model,管理数据,V是view,管理视图外观,C是controller,管理功能。

⑦ QT的ui是一个大的类,存在层层的继承关系,以按钮为例,一个按钮是QPushButton类的一个实例对象,而QPushButton类继承于QAbstractButton类,QAbstractButton类继承于Qwidget类,Qwidget类继承于QObject类。

⑧  任何可见的属性都是继承于QWidget类。要找一个控件的属性,首先先考虑这个属性是不是很多控件都有的(例如控件大小这一类公共属性),还是这个独有的(例如lebel控件的显示文字等这样控件独有的属性)。一般对于控件独有的属性,一般是从底层往上找。

⑨ 每一个控件都有一个名字,用于与功能函数进行交互。

⑩ 一般如果运行结果的界面与自己设计的预期相差很大时,都是某个控件的垂直(水平)策略不当造成的,一般都设定为fixed。

 

相关标签: Qt Qt的ui

上一篇: 理解JSON

下一篇: 遍历JSON