2011-07-21 9 views
0

.proファイルでは、UI_HEADERS_DIR = ./uic/include UI_SOURCES_DIR = ./uic/src の両方を定義しましたが、コンパイルした後は、宣言と実装の両方を含むui_x.hファイルしか取得できません。QMake:UICにヘッダとソースファイルの両方を生成させる方法?

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

.uiファイルを読み込み、コードに変換するプログラム」でありますuic '、ユーザインタフェースコンパイラ。

ソースファイルは書き出されません。ヘッダーのみが書き込まれます。

its documentationを参照してください。

なぜ謎があるのですか?qmake variable reference pageは、UI_SOURCES_DIRが存在すると言っていますか?

現在または以前にqmakeによって.cppファイルを書き出すようにした、文書化されていないオプションが存在することがあります。しかし、それがあっても、将来それが消える恐れがあるので、私はそれを使用することをお勧めしません。

関連する問題