多语言展示
当前在线:967今日阅读:91今日分享:37

Qt如何使用lib库封装界面?

使用Qtlib库,是我们大型程序中经常使用的一种技巧,这种方式会使得程序变得更加方便扩展,这里我们就来看看如何来封装Qt界面吧!
工具/原料
1

QtCreator4.5

2

Qt5.10

方法/步骤
1

首先我们在QtCreator创建一个C++库,如下图。我们要创建的是动态库,windows平台最终生成的是dll文件,而linux下则是so文件,所以大家看到网上文章的时候,记得区分出来。

2

创建lib项目的时候,我们可以选择静态库,动态库,或者qt插件,这些知识点,我们以后会详细的再次讨论的,如下图。

3

然后我们选择好编译器以及相关的模块,如果你具体真的不知道选哪些的话,尽量少选,因为你还是可以在文件中添加的。

4

最后,我们选择了widget和core两个,对于一般的界面,这两个就够的了。然后我们还是点下一步,如下图,直到项目创建完毕。

5

这里我们给出目录结构,文件创建好了以后,接下来才是重点。文件代码不需要更改。我们看到这里主要是有这个共享库的宏声明,如下图。

6

上面的文件我们需要重新创建,因为我们需要一个ui界面文件,如果手动创建呢,会很不方便,也很麻烦,这里我们先选择Qt自动创建界面类,以后我们还会编写其他文章介绍ui文件的了。如下图。

7

这里我们的类名依然和上面的类名一样,待文件生成完成以后,我们需要选择覆盖,这里覆盖以后,我们需要稍微等待一会,关闭所有文件,在重新打开文件,才能看到新生成的代码的。

8

新创建的界面类文件如下图所示,我们的ui界面文件已经创建,代码已经和刚刚创建的文件不一样了。

9

头文件中我们需要做一些修改,大家是否留意到,我们之前的那个共享库的宏没有了,global头文件也没有了,所以这里我们需要添加上才行的。

10

我们这里有时候会遇到一些问题,导致编译不通过,例如,如下图,我们这里就出现了重复文件包含,这是由于刚才生成文件的时候QtCreator没有判重导致的,所以这里我们只需要修改一下项目文件xxx.pro即可。

11

接下来,我们就可以使用ui设计器,进行界面的设计了。这里我们在创建界面类的同时自动打开ui文件,然后拖动一个时钟控件和一个按钮

12

然后我们使用栅格进行布局,并调整后大小,编译运行。

13

我们的目标文件就在项目的编译目录下,如下图,因为这里我们是创建的库文件,所以运动时不会出现界面的。结果如下。

14

接下来我们测试一下我们的界面控件库,我们新建另一个项目,这里创建的是widget app项目,大家自己创建即可。

15

然后我们添加上面项目中的库文件,这里需要在pro文件中设置,注意LIBS变量的设置,windows下是dll文件或者静态库lib文件,这里我们使用dll文件即可

16

最后我们在MainWindow中定义一个界面类对象,编译运行,结果如下,界面中出现了我们上面创建的控件。

注意事项
1

注意pro文件中库文件的包含设置

2

注意界面类文件的生成

推荐信息