Qt Creator和VS2010中添加槽信号_差异与详解
1.前言:
Qt ?的窗口部件通過發(fā)射信號(signal)來表明一個用戶的動作已經(jīng)發(fā)生了或者是一個狀態(tài)已經(jīng)改變了。如點擊一個QPushButton時,按鈕會發(fā)送一個clicked()信號,信號可以與函數(shù)(在qt里稱做槽slot)相連接。可以把信號理解為MFC里的事件。信號與槽的關(guān)系,我們也可以類比為為,事件驅(qū)動關(guān)系。
利用QT做UI設(shè)計的一般分為兩派,發(fā)燒派采用Qt Creator設(shè)計,平臺友好,視覺沖擊強,流線式設(shè)計。微軟派采用Visual Studio開發(fā),此派深受微軟毒害~ 已經(jīng)難以自拔~
就個人而言,屬于微軟派,用久了想脫身也不容易了。
這里需要面對一個問題就是VS與Qt Creator中添加“信號與槽”是不一樣的,需要注意。
2.Visual Studio2010中添加槽
Step1:創(chuàng)建對話框窗口,選擇“創(chuàng)建界面”復(fù)選框
2.頭文件中添加“槽聲明”
#ifndef ADDSOLTTOVS_H #define ADDSOLTTOVS_H#include <QtWidgets/QDialog> #include "ui_addsolttovs.h"class AddSoltToVs : public QDialog {Q_OBJECTpublic:AddSoltToVs(QWidget *parent = 0);~AddSoltToVs(); private:Ui::AddSoltToVsClass ui; 槽聲明 public slots:void Btn_Click(); };#endif // ADDSOLTTOVS_H 3.源文件中進行“槽實現(xiàn)”(注意添加消息盒子的頭文件)
#include "addsolttovs.h" #include <QMessageBox>AddSoltToVs::AddSoltToVs(QWidget *parent): QDialog(parent) {ui.setupUi(this); }AddSoltToVs::~AddSoltToVs() { } void AddSoltToVs::Btn_Click() {QMessageBox msg;msg.setText("Hello World!");msg.exec(); }4.打開UI,進入Qt Designer,建立槽 注意:別把槽的函數(shù)名寫錯了
注意:一定要把Designer關(guān)閉了再去調(diào)試我們的VS主程序
5.運行結(jié)果
沒錯,這就意味著,我們成功了。
3.Qt Creator中添加槽過程
誒呀。支持Creator的發(fā)燒友們歡呼吧~ ?的確,很簡單~
1.打開 Qt Creator新建一個項目MyQtDemo
2.點擊mainwindow打開設(shè)計窗體在窗體上添加一個PushButton。點擊右鍵先把轉(zhuǎn)到槽
3.打開轉(zhuǎn)到槽窗體
4.點擊clicked()點擊確定,在mainwindow.cpp里添加QMesageBox
#include "mainwindow.h" #include "ui_mainwindow.h" #include <QMessageBox> MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow) {ui->setupUi(this); }MainWindow::~MainWindow() {delete ui; }void MainWindow::on_pushButton_clicked() {QMessageBox msg;msg.setText("Hello World !");msg.setStandardButtons(QMessageBox::Ok|QMessageBox::Cancel);msg.setDefaultButton(QMessageBox::Cancel);msg.exec(); }5.運行即可。
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖
總結(jié)
以上是生活随笔為你收集整理的Qt Creator和VS2010中添加槽信号_差异与详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VTK修炼之道5_Procedural
- 下一篇: C++写的一个聊天室代码,用于XEIM开