в файле .pro, я определил оба UI_HEADERS_DIR = ./uic/include UI_SOURCES_DIR = ./uic/src
но после компиляции я получаю только файлы ui_x.h, которые содержат как объявления, так и реализации.
Значит ли это, что 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