QT中槽的使用

2022-02-08 14:08:25 字數 1347 閱讀 6399

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

connect(訊號傳送者,傳送的訊號,訊號接收者,訊號接收者的槽函式)

1、例子

connect(ui->pushbutton,signal(clicked(bool)),this,slot(showinfo()));

解釋:訊號反傳送者:pushbutton(這是乙個按鈕),傳送訊號:clicked(點選按鈕),訊號接收者:this(本類),訊號接收者的槽函式:showinfo(點選按鈕後響應的函式)

二、槽函式的定義

(1)槽函式

protected slots:

void showinfo();

(2)自定義帶引數的槽函式

signals:

void mysignal(); //自定義訊號(不需要實現),傳送訊號emit mysignal()

槽函式應用例子:

1、在標頭檔案中定義槽函式

1

#ifndef mainwindow_h

2#define mainwindow_h

34 #include 5

6namespace

ui 9

10class mainwindow : public

qmainwindow11;

3435

#endif

//mainwindow_h

2、在原始檔中建立按鈕與槽函式之間的連線

1 #include "

mainwindow.h

"2 #include "

ui_mainwindow.h

"3 #include 4 #include 5 #include "

form.h"6

7 mainwindow::mainwindow(qwidget *parent) :

8qmainwindow(parent),

9 ui(new

ui::mainwindow)

1019

20 mainwindow::~mainwindow()

2124

25//

實現槽函式

26void

mainwindow::showinfo()

2732

33void

mainwindow::myslot()

3437

38void mainwindow::getnum(int

num)

3942

4344

void

mainwindow::on_closbt_clicked()

45

Qt 槽函式的使用

今天在 中遇到這樣乙個問題,自己感覺槽和函式都寫的沒錯,但是就是不執行槽函式,因為是乙個定時器的使用,即定時時間到了就執行槽函式。1 seventhwizardpage seventhwizardpage qwidget parent 2qwizardpage parent 3 ui new ui ...

QT5中訊號槽之槽函式的使用

最近在學qt5,基於vs2010的開發環境!按照教程做的時候,在編寫自定義槽函式時,總是得不到正確的響應!苦思不得其解。後面查閱資料發現,在自定義函式在標頭檔案中的宣告時,不能夠把它當作普通函式,而要以槽函式的形式進行宣告。在登入框類中,原本的 如下 class logindialog public...

Qt中的訊號和槽

訊號槽是qt中特有的概念。它使得程式設計師將不同的object繫結起來,而object物件間並不需要對相互了解。slots也是普通的c 方法,它們可以是virtual 可以被過載 可以使private protected public,可以像其它c 方法一樣有各種型別的引數,signals則無這些屬...