QTUI基础(二)编译原理及文件结构-创新互联

uic读取由QtDesigner生成的XML格式的用户界面定义文件(.ui文件),然后生成其对应的C++头文件。

专注于为中小企业提供做网站、网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业下冶免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

      若界面文件为ZZZ.ui,则对应生成的头文件为ui_ZZZ.h。默认情况下:

      ①基于QMainWindow的程序,会生成一个叫ui_mainwindow.h的头文件

      ②基于QDialog的程序,会生成一个叫ui_dialog.h的头文件

      ③基于QWidget的程序,会生成一个叫ui_widget.h的头文件

      由Qt Creator自动完成的工作有如下:

      (1)在生成的头文件中,首先会定义一个叫Ui_XXX的类,其中XXX是主窗口的objectName。

      比如我将主窗口的objectName设为masikkk,则头文件中会定义类Ui_masikkk

      此类中有所有控件的声明,以及setupUi(QMainWindow */QDialog */QWidget *)函数的定义。

      在setupUi()函数中,会定义控件的所有属性和行为。

      最后,会定义一个名为Ui的命名空间,里面声明一个类masikkk,此类继承自Ui_masikkk :

             namespace Ui {

                    class masikkk : public Ui_masikkk{};

             }

      (2)在主窗口的头文件中,会声明命名空间Ui :

            namespaceUi{

             classmasikkk;

             }

      并且在类的定义中声明一个私有的Ui::masikkk类的指针 * ui:

             Ui::masikkk * ui;

      在构造函数实现时,会在参数列表中新生成一个Ui::masikkk类的对象赋给指针ui:

             ui(new Ui::masikkk)

      并在函数体内调用setupUi()函数,用主窗口的指针(this指针)作参数:

             ui -> setupUi(this);

      这样就实现了为程序加载界面。

      注意:如果你在Qt Designer中更改了主窗口的objectName,则ui文件生成的头文件中也会相应自动修改,

              但在主窗口的头文件和实现文件中,不会自动将类名修改为新的objectName,需要手动修改的地方有三个,

              在上文中我已分别用下划线标出了,只需将这三个地方修改为主窗口的新的objectName就行了

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享标题:QTUI基础(二)编译原理及文件结构-创新互联
分享地址:http://scjbc.cn/article/spjgc.html

其他资讯