我有一个从数据库表模型动态生成的表单:
我有办法将该表单保存到 *.ui 文件吗?我想允许用户在 Qt Designer 中编辑该表单。
最佳答案
想必您的用户可以添加和编辑的内容一定有一些限制?
如果是这样,那么也许您可以采取更结构化的方法并使用 QWizard提供用于设计和编辑表单的简单界面。该向导将生成 ui
文件,然后使用 uic module 将其加载到您的应用程序中。 (如果您使用的是 PyQt4,那就是 - 因为它不包含 QUiLoader
类)。
当然,要实现此功能,您需要调整当前的动态生成表单过程,以便它也适用于 ui
文件。
编辑
看起来像QAbstractFormBuilder
提供用于将小部件加载和保存为 ui 文件的 API。它是 QtDesigner 模块的一部分,现已包含在 PyQt4 中。
话虽如此,我对 load()
和 save()
方法的简短实验并没有产生非常有用的结果 - 但希望其他人能有更多的运气。
就我个人而言,如果我要设计这样的应用程序,我更愿意使用合适的 XML 库(Qt 或几个 Python 标准库模块之一)自己生成 ui 文件。表单布局的结构非常简单且规则,因此 ui 文件复制起来应该不会太困难。以这种方式进行操作的主要好处是它允许完全控制输入和输出。
关于qt - 将现有 QDialog 保存到 *.ui 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8689860/