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 ...
随机推荐
- jquery各大学选择插件
地址:http://www.jq22.com/jquery-info5565 演示地址:http://www.jq22.com/yanshi5565
- 智表(ZCELL)专业版收费说明
一.产品收费方式1.智表专业版按照部署地址授权.(IP或域名均可)2.不同版本单独计价,升级时需要补差价+升级服务费30元. 二.产品价格1.当前智表专业版最新版本为 V1.5版本,价格与上一版本相同 ...
- Python总结(二)
学习一门语言,首先就要学习它的数据类型和语法.这里与JS进行对比学习. 1.数据类型 python的数据类型有:数字(int).浮点(float).字符串(str),列表(list).元组(tuple ...
- python接口自动化-post请求2
一.headers 1.以禅道登录为例,模拟登陆,这里需添加请求头headers,可以用fiddler抓包 2.将请求头写成字典格式 h = { "Connection": &qu ...
- MySQL存储引擎InnoDB与MyISAM的区别
一.比较 事务:InnoDB是事务型的,可以使用Commit和Rollback语句. 并发:MyISAM只支持表级锁,InnoDB还支持行级锁. 外键:InnoDB支持外键. 备份:InnoDB支持在 ...
- 题解 P1944 最长括号匹配_NOI导刊2009提高(1)
栈,模拟 把每个元素逐个入栈 如果和栈顶元素匹配,那么一块弹出去,同时标记这里是可匹配的. 取出连续的,最长的可匹配的序列即可. #include <iostream> #include ...
- java网络编程基本知识
1.基本概念 网络:一组相互连接的计算机,多台计算机组成,使用物理线路进行连接 网络连接的功能:交换数据.共享资源 网络编程3要素: IP 地址:唯一标识网络上的每一台计算机,两台计算机之间通信的必备 ...
- [题解]ybt1365:FBI树(fbi)
ybt1365:FBI树(fbi) [题目描述] 我们可以把由“0”和“1”组成的字符串分为三类:全“0”串称为B串,全“1”串称为I串,既含“0”又含“1”的串则称为F串. FBI树是一种二叉树,它 ...
- sudo: no tty present and no askpass program specified
sudo: no tty present and no askpass program specified | 学步园 https://www.xuebuyuan.com/2157339.html 通 ...
- 常见的cmd命令
1.查看所有端口的使用情况:netstat -ano