看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VS C++ 2015 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) QT 5.7 問題(Question): 想要手工打造(非QT設計師拉出來的CHECKBOX),,原本CHECKBOX的標籤是"X" 點選之後 標籤要變成"O" 我是看著這個網頁改的 http://monkeycoding.com/?p=168 connect(check1, SIGNAL(clicked()), this, SLOT(changeCheckBox())); 在check1被按下之後 去觸發changeCheckBox這個SLOT 但 void ooxx2::changeCheckBox()裡面不知道要怎樣改 check1的text才可以更改 以下是我的程式碼 ooxx2.h #ifndef OOXX2_H #define OOXX2_H #include <QtWidgets/QMainWindow> #include "ui_ooxx2.h" #include <QCheckBox> class ooxx2 : public QMainWindow { Q_OBJECT public: ooxx2(QWidget *parent = 0); ~ooxx2(); private: QCheckBox *check1; private slots: void changeCheckBox(); private: Ui::ooxx2Class ui; }; #endif // OOXX2_H =================== ooxx2.cpp #include "ooxx2.h" ooxx2::ooxx2(QWidget *parent) : QMainWindow(parent) { ui.setupUi(this); check1 = new QCheckBox(this); check1->setText(tr("開啟對話框")); check1->setGeometry(55, 80, 100, 30); connect(check1, SIGNAL(clicked()), this, SLOT(changeCheckBox())); } ooxx2::~ooxx2() { } void ooxx2::changeCheckBox() { } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.124.46.82 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1474539148.A.C64.html
Ebergies: 不太懂, 你是要 check1->setText() 嗎 09/22 18:31
bluesoul: check1->setText("X"); 09/22 22:46
對 我原本以為是要這樣寫 ui.check1 -> setText("X") 但其實只要 check1->setText("X"); 剛從c#過來還有點一知半解的... 另外用qt design直接拉的 可以這樣寫ui.check1 -> setText("X") 但我完全不懂qt自己幫我做了甚麼... 所以才想要自己手工打造 ※ 編輯: MOONY135 (36.225.51.158), 09/22/2016 23:27:39
Ebergies: 就 QT 會把它建的元件放在 ui 下面而已 09/23 11:23
bluesoul: 如果懂c++的話,還是建議直接寫程式碼 09/25 01:35
MOONY135: 我非常同意樓上... 09/25 19:26