如何从ui形式生成程序代码?

How to generate program code from ui-forms?

我有一个 UI,由 Qt Designer 生成。它为我生成了一个 XML 代码,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>ColorDialog</class>
 <widget class="QDialog" name="ColorDialog">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
   and etc

我想删除此 UI 并通过如下 C++ 代码编辑视图:

    for (auto button:m_buttonColorsList)
    {
        m_colorsLayout->addWidget(button);
    }

    m_mainGroupBox->setLayout(m_colorsLayout);

    m_mainLayout->addWidget(m_mainGroupBox);

    setLayout(m_mainLayout);

如何将现有表单转换为代码?

Qt Designer 生成此 XML,然后 QMake 使用它来转换为实际代码。 但是里面没有什么是你不能自己写的。

实现你想要的最简单的方法是简单地使用 Qt 已经给你的方法:使用设计器创建表单,运行QMake over it 然后查看生成的 .h文件。

完整的代码(+ 一些额外的代码)都在里面,可以直接复制到您的应用程序中,而无需整个 ui-> 业务。

如果您无论如何都不想使用 QMake,则必须手动进行,但根据我的经验,最好不要为此查看 XML,而是执行全部自己排版。

有点麻烦,但绝对可行。

如果您想使用 .ui 信息生成代码,那么您必须使用 uic 工具:

uic filename.ui -g cpp -o filename_ui.h