日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Qt Creator和VS2010中添加槽信号_差异与详解

發(fā)布時(shí)間:2025/3/15 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Qt Creator和VS2010中添加槽信号_差异与详解 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.前言:

Qt ?的窗口部件通過(guò)發(fā)射信號(hào)(signal)來(lái)表明一個(gè)用戶的動(dòng)作已經(jīng)發(fā)生了或者是一個(gè)狀態(tài)已經(jīng)改變了。如點(diǎn)擊一個(gè)QPushButton時(shí),按鈕會(huì)發(fā)送一個(gè)clicked()信號(hào),信號(hào)可以與函數(shù)(在qt里稱(chēng)做槽slot)相連接可以把信號(hào)理解為MFC里的事件。信號(hào)與槽的關(guān)系,我們也可以類(lèi)比為為,事件驅(qū)動(dòng)關(guān)系

利用QT做UI設(shè)計(jì)的一般分為兩派,發(fā)燒派采用Qt Creator設(shè)計(jì),平臺(tái)友好,視覺(jué)沖擊強(qiáng),流線式設(shè)計(jì)。微軟派采用Visual Studio開(kāi)發(fā),此派深受微軟毒害~ 已經(jīng)難以自拔~

就個(gè)人而言,屬于微軟派,用久了想脫身也不容易了。

這里需要面對(duì)一個(gè)問(wèn)題就是VS與Qt Creator中添加“信號(hào)與槽”是不一樣的,需要注意。

2.Visual Studio2010中添加槽

Step1:創(chuàng)建對(duì)話框窗口,選擇“創(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.源文件中進(jìn)行“槽實(shí)現(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.打開(kāi)UI,進(jìn)入Qt Designer,建立槽

注意:別把槽的函數(shù)名寫(xiě)錯(cuò)了

注意:一定要把Designer關(guān)閉了再去調(diào)試我們的VS主程序

5.運(yùn)行結(jié)果


沒(méi)錯(cuò),這就意味著,我們成功了。

3.Qt Creator中添加槽過(guò)程

誒呀。支持Creator的發(fā)燒友們歡呼吧~ ?的確,很簡(jiǎn)單~

1.打開(kāi) Qt Creator新建一個(gè)項(xiàng)目MyQtDemo


2.點(diǎn)擊mainwindow打開(kāi)設(shè)計(jì)窗體在窗體上添加一個(gè)PushButton。點(diǎn)擊右鍵先把轉(zhuǎn)到槽


3.打開(kāi)轉(zhuǎn)到槽窗體


4.點(diǎn)擊clicked()點(diǎn)擊確定,在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.運(yùn)行即可。

與50位技術(shù)專(zhuān)家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的Qt Creator和VS2010中添加槽信号_差异与详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。