Qt工作笔记-对信号与槽的进一步理解(信号与信号关联)
生活随笔
收集整理的這篇文章主要介紹了
Qt工作笔记-对信号与槽的进一步理解(信号与信号关联)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
運行截圖如下:
關鍵代碼如下:
connect(ui->pushButton,SIGNAL(clicked(bool)),this,SLOT(btnClicked()));connect(this,SIGNAL(signal_1(QString)),this,SIGNAL(signal_2(QString)));connect(this,SIGNAL(signal_2(QString)),this,SIGNAL(signal_3(QString)));connect(this,SIGNAL(signal_3(QString)),this,SLOT(slot_3(QString)));下面給出所有的代碼
widget.h
#ifndef WIDGET_H #define WIDGET_H#include <QWidget>namespace Ui { class Widget; }class Widget : public QWidget {Q_OBJECTpublic:explicit Widget(QWidget *parent = 0);~Widget();public slots:void btnClicked();void slot_3(QString msg);signals:void signal_1(QString msg1);void signal_2(QString msg2);void signal_3(QString msg3);private:Ui::Widget *ui; };#endif // WIDGET_Hwidget.cpp
#include "widget.h" #include "ui_widget.h"#include <QDebug>Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget) {ui->setupUi(this);this->setWindowTitle(tr("CSDN IT1995"));connect(ui->pushButton,SIGNAL(clicked(bool)),this,SLOT(btnClicked()));connect(this,SIGNAL(signal_1(QString)),this,SIGNAL(signal_2(QString)));connect(this,SIGNAL(signal_2(QString)),this,SIGNAL(signal_3(QString)));connect(this,SIGNAL(signal_3(QString)),this,SLOT(slot_3(QString))); }void Widget::slot_3(QString msg){ui->lineEdit->setText(msg); }void Widget::btnClicked(){emit signal_1(tr("CSDN IT1995")); }Widget::~Widget() {delete ui; }main.cpp
#include "widget.h" #include <QApplication>int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); }總結
以上是生活随笔為你收集整理的Qt工作笔记-对信号与槽的进一步理解(信号与信号关联)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ STL stirng的复制比较
- 下一篇: C++设计模式-使用Qt框架模拟策略模式