将Qt应用程序维护为模块和库

时间:2018-04-16 09:28:18

标签: c++ qt qwidget

如何在单个应用程序中维护500 qt ui小部件表单。是否可以将表单应用程序分离为模块或库。如果可能,如何链接每个模块。是否可以为每个模块创建单独的文件夹。

1 个答案:

答案 0 :(得分:1)

  

如何在单个应用程序中维护500 qt ui小部件表单。

没关系。您甚至可以维护100000多个小部件表单。甚至可以在运行时使用代码或with .ui files创建小部件。这取决于您的源文件夹结构,构建系统和您的愿望。

  

是否可以将表单应用程序与模块或库分开。

是的,确实如此。您可以将小部件存储到statically linked librarydynamic linked library,或任何您想要的内容。

  

如果可能,如何链接每个模块。

您可以在编译时链接(静态或动态库),也可以在运行时加载它们。要在编译时链接,只需使用构建系统来指定依赖项。要在运行时链接,您可以使用QLibrary

但对于Qt应用程序来说,这是use Qt plugins的一个好习惯。这是分离模块中小部件的good example

  

是否可以为每个模块创建单独的文件夹。

是的,有可能。您需要将模块放到文件夹中并使用相对路径加载它们。例如:QLibrary("./modules/mywidgets").load()

或者,如果您使用Qt插件,只需add qt.conf file到您的资源或应用程序文件夹。