【发布时间】:2018-09-25 23:47:32
【问题描述】:
如何在单个应用程序中维护 500 qt ui 小部件表单。是否可以将表单应用程序分离为模块或库。如果可以的话,如何链接每个模块。是否可以为每个模块创建单独的文件夹。
【问题讨论】:
-
我很难理解你到底在问什么。您想将 ui 小部件(及其代码)从您的主应用程序移动到库/其他项目吗?
如何在单个应用程序中维护 500 qt ui 小部件表单。是否可以将表单应用程序分离为模块或库。如果可以的话,如何链接每个模块。是否可以为每个模块创建单独的文件夹。
【问题讨论】:
如何在单个应用程序中维护 500 qt ui 小部件表单。
没关系。您甚至可以维护 100000 多个小部件表单。甚至可以在运行时使用代码或with .ui files 创建小部件。这取决于您的源文件夹结构、构建系统和您的意愿。
是否可以将表单应用程序分离为模块或库。
是的,是的。您可以将您的小部件存储到statically linked library 或dynamic linked library,或任何您想要的。
如果可能,如何链接各个模块。
您可以在编译时链接(静态或动态库),或在运行时加载它们。要在编译时链接,只需使用您的构建系统来指定依赖项。要在运行时链接,您可以使用QLibrary。
但是对于 Qt 应用程序,use Qt plugins 是一个很好的做法。这是分离模块中一个小部件的good example。
是否可以为每个模块创建单独的文件夹。
是的,这是可能的。您需要将模块放入文件夹并使用相对路径加载它们。例如:QLibrary("./modules/mywidgets").load()。
或者,如果您使用的是 Qt 插件,只需将add qt.conf file 添加到您的资源或应用程序文件夹即可。
【讨论】: