Qt Creater中有6種Buttons控件,比Qt Designer 多了Command Link Button 和Button Box兩種控件,其他4中類型的控件分別是QPushButton、QToolButton、QCheckBox、。它們的基本用法和Qt Designer 相似,由於它們使用的類基本相同,屬性和成員函數沒有太多變化,具體的細節但願各位看官查看相關文檔或百度,這裏就再也不贅述了!框架
下面直接貼代碼,在這個示例中,咱們創建一個標準的Qt Gui Application項目,它包含了菜單欄、工具欄和狀態欄,可是在這裏咱們不須要它們,因此就把它們刪除,運用前面講的佈局知識,將設計界面改爲下述樣式便可!函數
示例功能說明:工具
×單擊選中一個RadioButton時,Label顯示選中的RadioButton;佈局
×單擊選中一個CheckBox時,Label顯示當前全部選中的CheckBox;ui
×單擊CountCheckBox按鈕時,統計當前全部選中的CheckBox,Label顯示氮氣全部選中的CheckBox。this
在這裏咱們使用Qt自動生成的槽函數,不要寫信號與槽函數的映射,(方法:右鍵單擊你想添加槽的控件,選中Go to slot,選擇槽函數所對應的信號函數,肯定後就會產生槽函數的聲明和定義框架)spa
右擊控件radioButton,選中「Go go solt」選項,在信號窗口中選擇信號以下圖所示:設計
而後只須要填充槽函數便可!code
按照一樣的方法將其他幾個控件都添加上對應的槽,項目建立及對應的控件屬性、信號、槽函數編譯完成以後,接下來對相應的文件進行編輯,示例代碼以下所示:ci
mainwindow.h
#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); void displayCheckBox(); private slots: void on_radioButton_clicked(); void on_radioButton_2_clicked(); void on_radioButton_3_clicked(); void on_checkBox_clicked(); void on_checkBox_2_clicked(); void on_checkBox_3_clicked(); private: Ui::MainWindow *ui; }; #endif // MAINWINDOW_H
mainwindow.cpp
#include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); } MainWindow::~MainWindow() { delete ui; } void MainWindow::displayCheckBox() { QString str; str = ""; if(ui->checkBox->isChecked()) { str += "CheckBox1 is Checked!"; } if(ui->checkBox_2->isChecked()) { str += "CheckBox2 is Checked!"; } if(ui->checkBox_3->isChecked()) { str += "CheckBox3 is Checked!"; } ui->label_2->setText(str); } void MainWindow::on_radioButton_clicked() { ui->radioButton->setChecked(true); ui->label->setText("adioButton1 is checked!"); } void MainWindow::on_radioButton_2_clicked() { ui->radioButton_2->setChecked(true); ui->label->setText("adioButton2 is checked!"); } void MainWindow::on_radioButton_3_clicked() { ui->radioButton_3->setChecked(true); ui->label->setText("adioButton3 is checked!"); } void MainWindow::on_checkBox_clicked() { if(ui->checkBox->isChecked()) { this->displayCheckBox(); } else { this->displayCheckBox(); } } void MainWindow::on_checkBox_2_clicked() { if(ui->checkBox_2->isChecked()) { this->displayCheckBox(); } else { this->displayCheckBox(); } } void MainWindow::on_checkBox_3_clicked() { if(ui->checkBox_3->isChecked()) { this->displayCheckBox(); } else { this->displayCheckBox(); } }
main.cpp
#include "mainwindow.h" #include <QApplication> int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; w.show(); return a.exec(); }
運行結果以下所示:
好了,今天就到這吧,我還要趕忙複習,快要考試了,好忙的說呀!
對了,各位Osecers們,若是大家看到我講的有不對的地方,但願可以指出,小弟我這裏先謝過了,若是有人不懂能夠在個人博客裏留言我等你哦!O(∩_∩)O~!