如何从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
我有一个 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