Qt之Ui文件的使用及DLL动态链接库的创建

来源:互联网 发布:由诲女知之乎的意思 编辑:程序博客网 时间:2024/06/01 10:29

    

            在Qt中,可以用Qt自带的布局器,将添加的一些Widget进行排版,但是可能总有时候达不到自己满意的效果。比如我们需要自己制作一个嵌入到程序中的组件时,所以可能需要自己手动制作Ui文件,但是Ui文件又不能直接使用,需要嵌入到工程文件中。有时候可能需要添加到其他的程序中,所以这里就需要一些简单的配置。首先先说说UI文件的结构,第一点就是创建的UI文件时有几种选项,分别是基于MainWindow,Widget和Dialog的。这里以我自己建立的基于Dialog对话框的程序为例说明:首先完成建立后就会有几个文件一般有.h的文件,一个是.cpp的文件,一个UI的XML文件,还有一个很重要的文件就是ui_ClassName.h的文件(ClassName建立的UI文件的类名)。然后就是对这些文件中的内容的简单解析,方便与灵活的操作及使用。查看这些文件时我们可以看到里面的内容,XML文件是对UI文件的解析,包括UIDialog的类名,UIDialog添加的组件,还有组件的布局等,可以不看。ui_ClassName.h的文件是用c++定义UI的类,并添加类,也可以不看,想学的可以了解一下。然后就是.h的文件,里面就定义了一个ClassName,和一个UI,一般情况下不用管,看的有一句:Ui::PenAttribute*ui;   比如在ui中添加了Label组件,命名为label,在.cpp文件中使用时只需要用ui->label就ok了,信号槽可以使用手动添加,也可以使用对象间的连接,特别要强调的是Radio Button组件的时候,需要手动添加一个QButtonGroup,将Radio Button组件添加,方便后面的使用,Group Box只能作为显示用,运行使用时不能确定选定的是哪一个Radio Button组件。具体使用方法看API文档。

            然后就是添加到其他工程去时,首先需要把上面的四个文件拷贝到相应的位置,然后配置新建的Project工程文件即可。只需要添加:FORMS+= \ ClassName.ui即可,还有如果在UI中添加了资源,对应的资源文件也要拷贝过去。然后包含头文件即可使用UI文件了。

           DLL组件在开发技术中也是很重要的,Qt同样支持DLL的使用,首先是建立DLL库,通常要包含core 和 gui ,建立好之后程序编译运行没有问题,一般就可以使用了,使用时也是需要对使用DLL文件的工程进行相应的配置,还有DLL文件最好和要生成的.exe的文件放在一个目录下,即debug或者release目录下,暂时没有确定是否一定需要,因为有时候程序会崩溃,但是放到同一个目录下就运行正常。工程文件的配置需要添加INCLUDEPATH+= 文件路径 LIBS+=文件路径,.h的文件放在includepenAttribute目录下.

            比如下面两个:INCLUDEPATH+= D:/QTproject/QtDrawBoard-build-Desktop_Qt_5_0_1_MinGW_32bit-Debug/penAttribute/

                LIBS += D:/QTproject/QtDrawBoard-build-Desktop_Qt_5_0_1_MinGW_32bit-Debug/debug/PenAttributeDll.dll