01.QT初学--两个窗口相互切换
//qqwidget.cpp
#include "qqwidget.h"
#include "ui_qqwidget.h" qqwidget::qqwidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::qqwidget)
{
ui->setupUi(this); setWindowTitle("老大");
b.setParent(this);
b.setText("change"); connect(&b,&QPushButton::released,this,&qqwidget::myslot); //处理子窗口信号
connect(&sub1,&sub::mysignal,this,&qqwidget::myslot2); } qqwidget::~qqwidget()
{
delete ui;
}
void qqwidget::myslot()
{
this->hide();
sub1.show();
}
void qqwidget::myslot2()
{
this->show();
sub1.hide();
} //sub.cpp
#include "sub.h" sub::sub(QWidget *parent) : QWidget(parent)
{
b1.setParent(this);
b1.setText("切换至主窗口"); connect(&b1,&QPushButton::released,this,&sub::mysubslot);
} void sub::mysubslot()
{
emit mysignal();
} //qqwidget.h
#ifndef QQWIDGET_H
#define QQWIDGET_H #include <QWidget>
#include <QPushButton>
#include "sub.h" namespace Ui {
class qqwidget;
} class qqwidget : public QWidget
{
Q_OBJECT public:
explicit qqwidget(QWidget *parent = nullptr);
~qqwidget();
QPushButton b;
void myslot();
void myslot2();
sub sub1; private:
Ui::qqwidget *ui;
}; #endif // QQWIDGET_H //sub.h
#ifndef SUB_H
#define SUB_H #include <QWidget>
#include <QPushButton> class sub : public QWidget
{
Q_OBJECT
public:
explicit sub(QWidget *parent = nullptr);
QPushButton b1;
void mysubslot();
signals:
void mysignal(); public slots:
}; #endif // SUB_H
1. sub窗口调用qqwidget主窗口时,在sub.h中sub类中自定义了信号函数,sub中将按钮与该信号函数connect。
同时,在qqwidget主窗口中将该信号函数与某slot函数connect,从而执行操作。
注:主窗口hide并不是消失,使用自定义信号函数connect后即可触发相应slot函数
01.QT初学--两个窗口相互切换的更多相关文章
- QT两个窗口相互切换
信号(signals)与槽(slots)是QT重要机制,例子使用了C++11 lambda表达式进行了信号与槽的连接. 实现两个窗口通过点击按钮完成互相切换,注意子窗口只能发送信号,不能处理,所有信号 ...
- QT 主窗口和子窗口相互切换示例
QT 主窗口和子窗口相互切换示例 文件列表: SubWidget.h #ifndef SUBWIDGET_H #define SUBWIDGET_H #include <QtWidgets/QW ...
- 关于Qt5(1)-- 两个窗口互相切换的例子
<QT Creator快速入门>这本书有一章介绍model和modeless的概念时,用到了两个窗口互相切换的例子.但是原文对该例子的说明非常模糊不清,现整理如下. 1,要求:登陆界面.主 ...
- Android:实现两个Activity相互切换而都不走onCreate()
本文要实现的目的是: 有3个Activity: A,B,C.从A中能够进入B,B中能够进入C.而且B和C之间可能须要多次相互切换,因此不能使用普通的startActivity-finish方式,由于又 ...
- 【Qt编程】Qt学习之窗口间的相互切换
在用Qt设计GUI时,经常要设计两个窗口之间的相互切换,即可以从一个窗口跳转到另一个窗口,然后又从另一个窗口跳转回原窗口.下面我们来介绍具体的实现方法: 工程建立及功能描述: 首先,我们建立Qt G ...
- QT+创建两个不相干的窗口实现一个显示一个不显示
因为两个窗口互不相干,所以需要重新创建一个窗口类subWidget subWidget.cpp文件 #ifndef SUBWIDGET_H #define SUBWIDGET_H #include & ...
- Qt 中如何捕获窗口停用和激活的消息
最近一直在用Qt做一个简单的俄罗斯方块的游戏,由于要实现一个暂停游戏的功能,就是当鼠标移出正在运行的游戏,点击电脑桌面上的其他位置时,这个时候游戏暂停.在这里把实现过程简单的记录一下,作为一个学习笔记 ...
- WPF中两个窗口的互斥
这里所讲的互斥是两个窗口不同时存在,打开一,只显示一:点一相关按钮显示二,关闭一:关闭二,显示一. 窗口一: history winResult winChoice = new winResult() ...
- [转]Ubuntu中root用户和user用户的相互切换
[转]Ubuntu中root用户和user用户的相互切换 http://www.cnblogs.com/weiweiqiao99/archive/2010/11/10/1873761.html Ubu ...
随机推荐
- 牛津初阶字典单词F-联想故事
从前有一个fable寓言,讲的是奥巴马穿着棉fabrics织物,走在去往学校的路上,他的心情fabulous极好的,绝妙的.因为他学校的facilities 设施fabulous非常棒,但有些人不喜欢 ...
- zabbix-agent(zabbix-proxy)配置
PidFile=/var/run/zabbix/zabbix_agentd.pidLogFile=/var/log/zabbix/zabbix_agentd.logLogFileSize=30Serv ...
- 逆向学习-Upack的PE文见头分析
重叠文件头 MZ文件头与PE文件头重叠. offest 0 e_magic:magic number = 4D5A('MZ') offest 3C e_lfanew:File address of ...
- django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'. Did you install mysqlclient or MySQL-python?
Error msg: Unhandled exception in thread started by <function check_errors.<locals>.wrapper ...
- zoj 3605
链接 [https://vjudge.net/contest/293343#problem/F] 题意 就是有n碗,有一个宝石,知道开始宝石在那个碗下面 进行M次交换,但知道其中的k次,问你最可能在那 ...
- Vue 环境搭建(win10)
1.安装node node官网安装地址 推荐安装稳定版本(LTS)以及安装路径为系统盘(C) 查看node安装成功否 注释:以下命令使用 命令提示符(管理员)权限,win10 对user权限的限制了访 ...
- Linux 安装多个版本JDK并设置默认版本
1 官网下载JDK版本 jdk-8u181-linux-x64.tar.gz 2 利用ssh工具上传安装包到Linux系统 传至:/usr/local 3 Linux用户安装的程序一般放在 /usr/ ...
- [转帖]Qemu 简述
Qemu 简述 记得KVM 就是 底层用的qemu https://www.cnblogs.com/bakari/p/7858029.html 本文首发于我的公众号 Linux云计算网络(id: cl ...
- P5057 [CQOI2006]简单题
题目描述 有一个 n 个元素的数组,每个元素初始均为 0.有 m 条指令,要么让其中一段连续序列数字反转——0 变 1,1 变 0(操作 1),要么询问某个元素的值(操作 2). 例如当 n = 20 ...
- React Navigation & React Native & React Native Navigation
React Navigation & React Native & React Native Navigation React Navigation https://facebook. ...