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

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

如點擊一個QPushButton時,按鈕會發送一個clicked()信號,信號能夠與函數(在qt裏稱作槽slot)相鏈接函數

能夠把信號理解爲c#裏的事件ui

在vs2012裏和在Qt Creator裏添加信號和槽不同,這裏把兩種環境下怎麼添加詳細說明一下this

 

1.在vs2012裏添加信號和槽spa

新建一個qt的項目QtDemo設計

 

在qtdeom.h裏添加槽3d

private slots:
         void Btn_OpenClick();

總體代碼code

#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裏添加實現,這裏咱們只是彈出一個QMessagBoxblog

#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();
}

運行

相關文章
相關標籤/搜索