欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一文帶你了解Qt中槽的使用

 更新時間:2022年12月18日 10:17:43   作者:音視頻開發(fā)老舅  
這篇文章主要為大家詳細介紹了Qt中槽的使用教程,文中的示例代碼講解詳細,對我們學習Qt有一定的幫助,感興趣的小伙伴可以跟隨小編一起學習一下

一、建立槽和按鈕之間的連接

connect(信號發(fā)送者,發(fā)送的信號,信號接收者,信號接收者的槽函數(shù))

1、例子

connect(ui->pushButton,SIGNAL(clicked(bool)),this,SLOT(showinfo()));

解釋:

信號反發(fā)送者:pushButton(這是一個按鈕),發(fā)送信號:clicked(點擊按鈕),信號接收者:this(本類),信號接收者的槽函數(shù):showinfo(點擊按鈕后響應的函數(shù))

二、槽函數(shù)的定義

(1)槽函數(shù)

protected slots:
void showinfo();

(2)自定義帶參數(shù)的槽函數(shù)

signals:
void mysignal(); //自定義信號(不需要實現(xiàn)),發(fā)送信號emit mysignal()

槽函數(shù)應用例子:

1、在頭文件中定義槽函數(shù)

#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();
//槽函數(shù)聲明
protected slots:
    void showinfo();//槽函數(shù)
    void myslot();

//自定義帶參數(shù)的槽函數(shù)
 signals:
    void mysignal(); //自定義信號(不需要實現(xiàn)),發(fā)送信號emit mysignal()
    void sendNum(int num);

private slots:
    void on_closbt_clicked();
    void  getNum(int num);

private:
    Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H

2、在源文件中建立按鈕與槽函數(shù)之間的連接

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug.h>
#include <QtWidgets/QStackedLayout>
#include "form.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    //把按鈕的信號與本類的showinfo槽函數(shù)關聯(lián)
    connect(ui->pushButton,SIGNAL(clicked(bool)),this,SLOT(showinfo()));

    //把本類的信號mysignal與本類的槽函數(shù)myslot()關聯(lián)
    connect(this,SIGNAL(mysignal()),this,SLOT(myslot()));
    connect(this,SIGNAL(sendNum(int)),this,SLOT((int)));
}

MainWindow::~MainWindow()
{
    delete ui;
}

//實現(xiàn)槽函數(shù)
void MainWindow::showinfo()
{
    qDebug()<<"信號與槽函數(shù)測試";
    //發(fā)送信號
    emit mysignal();
}

void MainWindow::myslot()
{
    qDebug()<<"自定義信號觸發(fā)";
}

void MainWindow::getNum(int num)
{
    qDebug()<<num;
}


void MainWindow::on_closbt_clicked()
{
    emit sendNum(123);
}

到此這篇關于一文帶你了解Qt中槽的使用的文章就介紹到這了,更多相關Qt槽內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論