1、主函数向子函数传值:
主窗口定义信号,子窗口定义槽函数,在主窗口将信号与槽连接起来
mainwindow.h:
1 #include<Dialog.h>
2
3 signals:
4
5 void sendStr(QString);
6
7 private:
8
9 Dialog *newDialog;
mainwindow.cpp:
1 void MainWindow::on_pushButton_clicked() //自定义按钮函数 点击传值。
2
3 {
4
5 QTreeWidgetItem *item = ui->treeWidget->currentItem(); //自定义treeWidget
6
7 newDialog = new Dialog();
8
9 newDialog->setModal(true); //模态
10
11 QObject::connect(this,SIGNAL(sendStr(QString)),newDialog,SLOT(getStr(QString)));
12
13 QString oldStr = item->text(0); //向newDialog传当前节点名字
14
15 emit sendStr(oldStr);
16
17 newDialog->show();
18 }
dialog.h:
1 private slots:
2
3 void getStr(QString);
dialog.cpp:
1 void Dialog::getStr(QString str)
2 {
3
4 ui->lineEdit->setText(str); //自定义linEdit对象,将oldStr 传入dialog并显示在linEdit中。
5
6 }
2、子函数向主函数传值:
规则一致。代码相似: 子窗口中定义信号(emit),然后在父窗口中定义槽(),在主窗口中将槽和信号连接起来,
mainwindow.h:
1 #include<Dialog.h>
2
3 private:
4
5 Dialog *newDialog;
6
7 private slots:
8
9 void getNewStr(QString);
mainwindow.cpp:
1 void MainWindow::getNewStr(QString newstr) //将Dialog传回的值设为treeWidget当前节点的内容
2
3 {
4
5 QTreeWidgetItem *item = ui->treeWidget->currentItem();
6
7 item->setText(0,newStr);
8
9 }
10
11 void MainWindow::on_pushButton_clicked() //自定义按钮函数,点击打开newDialog
12
13 {
14
15 newDialog = new Dialog();
16
17 newDialog->setModal(true); //模态
18
19 QObject::connect(newDialog,SIGNAL(sendNewStr(QString)),this,SLOT(getNewStr(QString)));
20
21 newDialog->show();
22
23 }
dialog.h:
1 signals:
2
3 void sendNewStr(QString);
dialog.cpp:
1 void Dialog::on_okButton_clicked() //自定义传递按钮
2
3 {
4
5 QString newStr = ui->lineEdit->text(); //获取lineEdit中输入的内容为newStr
6
7 emit sendNewStr(newStr );
8
9 this->hide(); //传值后隐藏,回到MainWindow
10
11 }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)