QT+创建两个不相干的窗口实现一个显示一个不显示
时间:2019-06-14
本文章向大家介绍QT+创建两个不相干的窗口实现一个显示一个不显示,主要包括QT+创建两个不相干的窗口实现一个显示一个不显示使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
因为两个窗口互不相干,所以需要重新创建一个窗口类subWidget
subWidget.cpp文件
#ifndef SUBWIDGET_H #define SUBWIDGET_H #include <QWidget> #include <QPushButton> class SubWidget : public QWidget { Q_OBJECT public: explicit SubWidget(QWidget *parent = 0); void sendSlot(); signals: /*信号必须有singles关键字来声明 * 信号没有返回值,但可以有参数 * 信号就是函数的生命,只需声明,无需定义 * 使用:emit mySignal(); */ void mySignal(); public slots: private: QPushButton btn4; }; #endif // SUBWIDGET_H
#include "subwidget.h" SubWidget::SubWidget(QWidget *parent) : QWidget(parent) { this->setWindowTitle("波老师"); this->setFixedSize(360,480); btn4.setParent(this); btn4.setText("切换到苍老师"); //点击按钮btn4实现给主窗口发送信号 connect(&btn4,&QPushButton::clicked,this,&SubWidget::sendSlot); } void SubWidget::sendSlot() { emit mySignal(); }
#ifndef MAINWIDGET_H #define MAINWIDGET_H #include <QWidget> #include <QPushButton> #include "subwidget.h"//自子窗口头文件 class MainWidget : public QWidget { Q_OBJECT public: MainWidget(QWidget *parent = 0); ~MainWidget(); void mySlot();//自定义的槽函数 void changeWin(); void dealWin(); private: QPushButton btn3; SubWidget w;//该对象在主窗口中,子窗口没有办法调用,所以需要利用子窗口发送给主窗口消息,进而主窗口进行处理 }; #endif // MAINWIDGET_H
#include "mainwidget.h" #include <QPushButton> MainWidget::MainWidget(QWidget *parent) : QWidget(parent) { //互相切换窗口的小游戏 this->setFixedSize(360,480); this ->setWindowTitle("苍老师"); btn3.setParent(this); btn3.setText("换到波老师"); btn3.move(50,50); //显示子窗口 // w.show(); //点击按钮btn3实现主窗口隐藏,子窗口显示 connect(&btn3,&QPushButton::released,this,&MainWidget::changeWin); //处理子窗口发送过来的信号 connect(&w,&SubWidget::mySignal,this,&MainWidget::dealWin); } //自定义槽函数的实现 void MainWidget::changeWin() { //子窗口显示, w.show(); //本窗口隐藏 this ->hide(); } void MainWidget::dealWin() { //子窗口隐藏 w.hide(); //本窗口显示 this->show(); } MainWidget::~MainWidget() { }
原文地址:https://www.cnblogs.com/doker/p/11025422.html
- 虎嗅主站盲打成功(已进后台)
- 我的第五个网页制作:pre、html转义、abbr标签的使用
- UVALive 3882 - And Then There Was One【约瑟夫问题】
- 超级账本项目:链码示例
- 我的第六个网页制作:table标签
- POJ 1163 The Triangle【dp+杨辉三角加强版(递归)】
- UVA 11039-Building designing【贪心+绝对值排序】 UVA11039-Building designing
- UVA 11636-Hello World!(水题,猜结论) UVA11636-Hello World!
- 百度某SDK设计缺陷导致手机敏感信息泄露(IMEI号和地理位置信息等)
- HDU 1004 Let the Balloon Rise【STL<map>】
- UVA 10881 - Piotr's Ants【模拟+思维】
- DFS中的奇偶剪枝学习笔记
- POJ 3154 Graveyard【多解,数论,贪心】
- HDU 1010 Tempter of the Bone【DFS经典题+奇偶剪枝详解】
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Tensorflow tensor 数学运算和逻辑运算方式
- Tensorflow全局设置可见GPU编号操作
- YII框架http缓存操作示例
- 基于tf.shape(tensor)和tensor.shape()的区别说明
- PHP检查URL包含特定字符串实例方法
- Python使用xlrd实现读取合并单元格
- python模块如何查看
- YII框架页面缓存操作示例
- PHP chunk_split()函数讲解
- Python3爬虫中Ajax的用法
- stripos函数知识点实例分享
- PHP实现字符串大小写转函数的功能实例
- 在django中实现choices字段获取对应字段值
- python语言中有算法吗
- jQuery ajax+PHP实现的级联下拉列表框功能示例