[問題] 如何操縱用uic產生的header

作者: wtchen (沒有存在感的人)   2014-04-28 23:14:29
開發平台(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
作者: uranusjr (←這人是超級笨蛋)   2014-04-28 23:48:00
都願意用 Designer 了, 初學不如直接用 Qt Creator 會比較順手, 整合也比較完整
作者: wtchen (沒有存在感的人)   2014-04-28 23:54:00
我現在是用Qt Creator裏面的Designer沒錯Qt5的designer是被鑲在Creator裡頭
作者: uranusjr (←這人是超級笨蛋)   2014-04-28 23:58:00
我的意思是直接用 Creator 建 project, 用它的編譯系統一般使用下不需要自己跑 uic, 也不需要自己改產生的頭檔
作者: wtchen (沒有存在感的人)   2014-04-29 00:15:00
我試過這樣做,可是如果要用一個dialog裡頭的某button叫出另一個ui/dialog,不知道要怎麼做?剛找到答案了,感謝!

Links booklink

Contact Us: admin [ a t ] ucptt.com