QT學習之訊號和槽

2021-10-05 07:56:32 字數 1767 閱讀 4235

有訊號函式,本例中就是hungry,有引數和沒有引數的,其中有引數的函式中的引數代表要傳遞的內容

標頭檔案:

1

#ifndef teacher_h

2#define teacher_h

34 #include 5

6class teacher : public

qobject7;

2324

#endif

//teacher_h

原始檔:

1 #include "

teacher.h"2

3 teacher::teacher(qobject *parent) : qobject(parent)

4

設計並實現的槽函式,用來接收訊號

標頭檔案:

1

#ifndef student_h

2#define student_h

34 #include 5

6class student : public

qobject7;

1718

#endif

//student_h

原始檔:

1 #include "

student.h

"2 #include 3 student::student(qobject *parent) : qobject(parent)47

8void

student::treat()913

14void

student::treat(qstring foodname)

15

標頭檔案:定義了觸發函式

1

#ifndef widget_h

2#define widget_h

34 #include 5 #include"

student.h

"6 #include"

teacher.h"7

8class widget : public

qwidget9;

1920

#endif

//widget_h

原始檔:

使用connect實現了訊號和槽的鏈結;還實現了用按鈕觸發鏈結,最終觸發槽函式

需要注意的是區分不同種類的訊號函式用函式指標、connect鏈結的兩個函式的種類要對應(引數對應原則)、系統中的qpushbutton::clicked只可以對應沒有引數的函式。

觸發函式要位於connect的後面,函式實現的時候借助emit,被觸發的物件要明確。

1 #include "

widget.h

"2 #include3

4 widget::widget(qwidget *parent)

5: qwidget(parent)625

void

widget::classover()

2930 widget::~widget()

31

1  disconnect(zt,teachersingal1,st,studentslot1);

1 connect(btn,&qpushbutton::clicked,zt,teachersingal2);

2 connect(btn,&qpushbutton::clicked,this,&widget::close);

上面的程式可以實現顯示資訊,同時關閉視窗

qt學習 訊號,槽

c.gui.qt.4程式設計 第二版 加 布蘭切特,英 薩默菲爾德.掃瞄版 學習庫www.xuexi111.com pdf 訊號和槽是qt程式設計的基礎,它可以讓各種物件聯絡在一起。1.使用connect連線訊號和槽 還能連線訊號和訊號 static qmetaobject connection c...

Qt訊號和槽

qt將訊號和槽關聯起來的connect使用時需要注意帶相應的引數,否則會出現訊號發出後不能呼叫槽的問題,例子如下 發出訊號的宣告 signals void receiveddata uchar dat,uint len 接收訊號的槽宣告 private slots void getdata ucha...

Qt 訊號和槽

函式原型 qobject connect const qobject sender,const char signal,const qobject receiver,const char method,qt connectiontype type qt autoconnection 通常使用的con...