这是否意味着QMake无法生成仅包含最小声明的简单头文件,并将所有实现细节放入源文件中?
这是一个示例生成的.h文件,你可以发现声明和实现都放在.h文件中:
/********************************************************************************
** Form generated from reading UI file 'DemoDialog.ui'
**
** Created: Thu 21. Jul 16:08:58 2011
** by: Qt User Interface Compiler version 4.7.2
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
QT_BEGIN_NAMESPACE
class Ui_DemoDialog
{
public:
void setupUi(QDialog *DemoDialog)
{
if (DemoDialog->objectName().isEmpty())
DemoDialog->setObjectName(QString::fromUtf8("DemoDialog"));
DemoDialog->resize(400, 300);
retranslateUi(DemoDialog);
QMetaObject::connectSlotsByName(DemoDialog);
} // setupUi
void retranslateUi(QDialog *DemoDialog)
{
DemoDialog->setWindowTitle(QApplication::translate("DemoDialog", "Dialog", 0, QApplication::UnicodeUTF8));
} // retranslateUi
};
namespace Ui {
class DemoDialog: public Ui_DemoDialog {};
} // namespace Ui
QT_END_NAMESPACE
答案 0 :(得分:0)
读取.ui文件并将其转换为代码的程序是'uic',即用户界面编译器。
它不写出源文件:它只写头。
所以,为什么qmake variable reference page无法说出UI_SOURCES_DIR存在,这就是为什么?
可能有一些未记录的uic选项现在或以前使qmake make uic写出.cpp文件。但即使有,我也不建议使用它,因为担心它将来会消失。