当前位置:   article > 正文

VS2015+Qt 主窗口与子窗口传值(通过全局变量)_qt+vs两个页面传值

qt+vs两个页面传值

1、打开vs,新建一个项目,双击.ui文件,进入UI设计器界面,进行主窗口的设计,设计结果如下:

 2、重新添加一个.ui文件,用于子窗口的设计(具体请参照往期创作的文章,这里不再赘述),设计结果如下图:添加一个label组件

3、在vs中添加相关代码,具体如下:

(1)在test4.h中,代码如下:

  1. #pragma once
  2. #include <QtWidgets/QMainWindow>
  3. #include "ui_test4.h"
  4. #include "NWindows.h"
  5. class test4 : public QMainWindow
  6. {
  7. Q_OBJECT
  8. public:
  9. test4(QWidget *parent = Q_NULLPTR);
  10. NWindows *w;
  11. private:
  12. Ui::test4Class ui;
  13. private slots:
  14. void onpushButton();
  15. };

 (2)在test4.cpp中,代码如下:

  1. #include "test4.h"
  2. #include "ui_NWindows.h"
  3. QString globaldata; //声明一个全局变量用于窗体间传值
  4. test4::test4(QWidget *parent)
  5. : QMainWindow(parent)
  6. {
  7. ui.setupUi(this);
  8. connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(onpushButton()));
  9. }
  10. void test4::onpushButton()
  11. {
  12. globaldata = ui.textEdit->toPlainText(); //获取lineEdit输入的值赋值给全局变量
  13. NWindows *w = new NWindows;
  14. w->show();
  15. }

(3)在NWindows.h中,代码如下:

  1. #pragma once
  2. #include <QWidget>
  3. #include "ui_NWindows.h"
  4. class NWindows : public QWidget
  5. {
  6. Q_OBJECT
  7. public:
  8. NWindows(QWidget *parent = Q_NULLPTR);
  9. ~NWindows();
  10. private:
  11. Ui::NWindows ui;
  12. };

(4)在NWindows.cpp中,代码如下:

  1. #include "NWindows.h"
  2. extern QString globaldata; //声明外部变量
  3. NWindows::NWindows(QWidget *parent)
  4. : QWidget(parent)
  5. {
  6. ui.setupUi(this);
  7. ui.label->setText(globaldata); //对全局变量进行显示
  8. }
  9. NWindows::~NWindows()
  10. {
  11. }

4、运行结果如下:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/730718
推荐阅读
相关标签
  

闽ICP备14008679号