200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > QT信号和槽的关联实现子窗口传递值给主窗口

QT信号和槽的关联实现子窗口传递值给主窗口

时间:2020-10-16 05:41:16

相关推荐

QT信号和槽的关联实现子窗口传递值给主窗口

QT使用SIGNAL和SLOT宏实现信号和槽的关联

QT信号和槽的关联实现子窗口界面传递值给主窗口界面

MainWindow7_1::MainWindow7_1(QWidget *parent)

: QWidget(parent)

, ui(new Ui::MainWindow7_1)

{

ui->setupUi(this);

MyDialog *dlg=new MyDialog(this);

//将子窗口子定义的信号与主窗口自定义的槽进行关联

//connect(dlg,SIGNAL(dlg_return_value(int)),this,SLOT(ShowValue(int)));

//dlg->setModal(true);//设置模态对话框,默认是非模态

//基于函数指针的重载形式

connect(dlg,&MyDialog::dlg_return_value,this,&MainWindow7_1::ShowValue);

//Lambda表达式传值的方式获取外部变量

connect(dlg,&MyDialog::dlg_return_value,[=](int value){

ui->label_2->setText(tr("Lambda表达式传值的方式获取外部变量value:%1").arg(value));

});

dlg->show();

}

QT信号和槽的关联实现子窗口传递值给主窗口.rar-QT文档类资源-CSDN下载QT信号和槽的关联实现子窗口传递值给主窗口.rarhttps://txwtech.blog.csd更多下载资源、学习资料请访问CSDN下载频道./download/txwtech/86542193

#ifndef MAINWINDOW7_1_H#define MAINWINDOW7_1_H#include <QWidget>QT_BEGIN_NAMESPACEnamespace Ui { class MainWindow7_1; }QT_END_NAMESPACEclass MainWindow7_1 : public QWidget{Q_OBJECTpublic:MainWindow7_1(QWidget *parent = nullptr);~MainWindow7_1();private:Ui::MainWindow7_1 *ui;private slots:void ShowValue(int value);};#endif // MAINWINDOW7_1_H

#include "mainwindow7_1.h"#include "ui_mainwindow7_1.h"#include "mydialog.h"MainWindow7_1::MainWindow7_1(QWidget *parent): QWidget(parent), ui(new Ui::MainWindow7_1){ui->setupUi(this);MyDialog *dlg=new MyDialog(this);//将子窗口子定义的信号与主窗口自定义的槽进行关联connect(dlg,SIGNAL(dlg_return_value(int)),this,SLOT(ShowValue(int)));//dlg->setModal(true);//设置模态对话框,默认是非模态dlg->show();}MainWindow7_1::~MainWindow7_1(){delete ui;}void MainWindow7_1::ShowValue(int value){ui->label->setText(tr("接收到子窗口的值:%1").arg(value));}

#ifndef MYDIALOG_H#define MYDIALOG_H#include <QDialog>namespace Ui {class MyDialog;}class MyDialog : public QDialog{Q_OBJECT //必须要在这里:类声明的开始处添加该宏public:explicit MyDialog(QWidget *parent = nullptr);~MyDialog();private:Ui::MyDialog *ui;signals:void dlg_return_value(int);//自定义的信号private slots:void on_pushButton_confirm_clicked();};#endif // MYDIALOG_H

#include "mydialog.h"#include "ui_mydialog.h"MyDialog::MyDialog(QWidget *parent) :QDialog(parent),ui(new Ui::MyDialog){ui->setupUi(this);}MyDialog::~MyDialog(){delete ui;}void MyDialog::on_pushButton_confirm_clicked(){int value=ui->spinBox->value(); //获取旋转框输入的数值emit dlg_return_value(value);//发射信号//close();}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。