作為一個轉行QT開發的新手,面對基於QML的開發時候 看到很多的項目類型感到很困惑,不知道應該怎麼選擇。如圖:
經過研究發現QT widgets Application、QtQuick Applicaiton 都可以創建qt項目,並且顯示QML頁面。
區別是在QT widgets application中需要使用QDeclarativeView 、QDeclarativeComponent來加載QML頁面。具體方式http://blog.csdn.net/changsheng230/article/details/6170007
但是這種解決方案明顯不適用於我這種從0開始的項目。
所以我采用QT Quick Application這種項目類型。於是。。。
選擇了QT quick Application後 又尼瑪有了2類選擇 Qt Quick 與 Qt Quick Control。科普了一下 發現Qt Quick Control是QT5.1時加入的模塊,是對Qt Quick的一系列封裝,提供了一堆控件。並且通過對比兩個項目的文件發現:
QT Quick項目中的 window是QQuickWindows的實例
QT Quick Control項目中的ApplicationWindow繼承自Window,並提供了原聲的一個布局:menubar、statusbar、toolbar、contentitem。
so,弄清楚了這些基本關系,打算采用Qt Quick Control來搞,如果後續還有新的領悟會持續修改這篇文章。
希望這篇文章可以解決跟我有同樣困惑的初入QT的盆友。
編譯器的路徑沒有設置好吧,確認一下
完全沒問題啊,我的Qt也是5.3.1,下面代碼是在QDialog的構造函數中的,後面的和你的代碼完全一樣:
QLabel *label1 = new QLabel; label1->setText("label1"); QLineEdit *lineEdit = new QLineEdit; QLabel *label2 = new QLabel; label2->setText("label2"); QPushButton *button = new QPushButton; button->setText("button"); QGridLayout *mainLayout = new QGridLayout(this); mainLayout->addWidget(label1,0,0); mainLayout->addWidget(lineEdit,0,1); mainLayout->addWidget(label2,1,0); mainLayout->addWidget(button,1,1); 這是運行截圖: