作者wtchen (沒有存在感的人)
看板C_and_CPP
標題[問題] 如何操縱用uic產生的header
時間Mon Apr 28 23:14:29 2014
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Linux Mint 15 + Qt5
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
就Qt5
問題(Question):
我用Ui設計了一個dialog,然後用uic -o的方式把.ui輸出成.h
.h其中有一個按鈕(button),我希望在按下這按鈕後,
能使指定的comboBox(裏面有4-5個選項)變成指定的值
所以我在這個用Ui產生的header裡加入:
QObject::connect(button, SIGNAL(clicked()), Dialog, SLOT(test()));
然後在這個Ui_Dialog class裡加入:
public slots:
void test(int t)
{
comboBox_Pressure->setCurrentIndex(t);
}
餵入的資料(Input):
預期的正確結果(Expected Output):
.h其中有一個按鈕(button),我希望在按下這按鈕後,
能使指定的comboBox(裏面有4-5個選項)變成指定的值
錯誤結果(Wrong Output):
這個用ui做的dialog有出來,不過按鈕無法作用
錯誤訊息:
QObject::connect: No such slot QDialog::test(2) in
../QtCoolProp/SetUnits.h:251
QObject::connect: (sender name: 'pushButton_SI')
QObject::connect: (receiver name: 'Dialog')
程式碼(Code):(請善用置底文網頁, 記得排版)
補充說明(Supplement):
我其實才剛開始學Ui,可是我想做的程式需要很多dialog,不用Ui會很浪費時間
可是不是很熟悉要怎麼控制裏面的元件
用QDesigner設計好了dialog,可是不知道要怎麼在不用uic產生cpp/h的情況下
把dialog裏面元件的connect弄好(有些按鈕還connect到另一個dialog)
現在的develop step依然是QDesigner -> uic -o *.h ->改*.h
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 86.209.185.140
※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1398698072.A.926.html
※ 編輯: wtchen (86.209.185.140), 04/28/2014 23:32:38
→ uranusjr:都願意用 Designer 了, 初學不如直接用 Qt Creator 會比 04/28 23:48
→ uranusjr:較順手, 整合也比較完整 04/28 23:49
→ wtchen:我現在是用Qt Creator裏面的Designer沒錯 04/28 23:54
→ wtchen:Qt5的designer是被鑲在Creator裡頭 04/28 23:55
→ uranusjr:我的意思是直接用 Creator 建 project, 用它的編譯系統 04/28 23:58
→ uranusjr:一般使用下不需要自己跑 uic, 也不需要自己改產生的頭檔 04/28 23:59
→ wtchen:我試過這樣做,可是如果要用一個dialog裡頭的某button叫出 04/29 00:15
→ wtchen:另一個ui/dialog,不知道要怎麼做? 04/29 00:15
→ wtchen:剛找到答案了,感謝! 04/29 03:27