在Qt Creator 和在 vs2012 里添加信號和槽


Qt  的窗口部件通過發射信號(signal)來表明一個用戶的動作已經發生了或者是一個狀態已經改變了。

如點擊一個QPushButton時,按鈕會發送一個clicked()信號,信號可以與函數(在qt里稱做槽slot)相連接

可以把信號理解為c#里的事件

在vs2012里和在Qt Creator里添加信號和槽不一樣,這里把兩種環境下怎么添加詳細說明一下

 

1.在vs2012里添加信號和槽

新建一個qt的項目QtDemo

 

在qtdeom.h里添加槽

private slots:
         void Btn_OpenClick();

整體代碼

#ifndef QTDEMO_H
#define QTDEMO_H

#include <QtWidgets/QMainWindow>
#include "ui_qtdemo.h"

class QtDemo : public QMainWindow
{
    Q_OBJECT

public:
    QtDemo(QWidget *parent = 0);
    ~QtDemo();

private:
    Ui::QtDemoClass ui;
private slots:
         void Btn_OpenClick();
};

#endif // QTDEMO_H

在qtdemo.cpp里添加實現,這里我們只是彈出一個QMessagBox

#include "qtdemo.h"
#include <QMessageBox>
QtDemo::QtDemo(QWidget *parent)
    : QMainWindow(parent)
{
    ui.setupUi(this);
    
}

QtDemo::~QtDemo()
{

}

void QtDemo::Btn_OpenClick()
{
    QMessageBox msg;
    msg.setText("HelloWord!");
    msg.exec();
}

雙擊qtdemo.ui打開qt設計師窗體

我們在窗體上放一個PushButton

點擊編輯信號槽

點擊PushButton手動紅色箭頭指向窗體

點擊QtDemoClass窗口下的編輯打開信號槽窗體點擊添加把我們之前寫的方法名稱加到里邊

確定關閉后在配置連接窗體下點點擊licked()和Btn_OpenClick()后確定

點擊保存關閉qt設計師窗體

回到vs2012后F5運行

2.在Qt里添加信號和槽

打開 Qt Creator新建一個項目MyQtDemo

 

點擊mainwindow打開設計窗體在窗體上添加一個PushButton

點擊右鍵先把轉到槽

打開轉到槽窗體

 

點擊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 Word !");
    msg.setStandardButtons(QMessageBox::Ok|QMessageBox::Cancel);
    msg.setDefaultButton(QMessageBox::Cancel);
    msg.exec();
}

運行

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM