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 ...
随机推荐
- Win7系统下,docker构建nginx+php7环境实践
前面两章介绍的是Windows系统下如何安装和配置docker,主要原因在于,公司大多人数用的是Windows环境,想通过在Windows环境上,通过docker,构建一个公用的配置. 首先要说明的是 ...
- A customized combobox with JQuery
要求实现一个轻量级的在客户端筛选的combobox,支持大数据量(超过1000个items),能快速检索内容,并支持数据的设置和活动等基本操作.在这之前尝试过使用Jquery UI的Autocompl ...
- ERROR:"org.apache.zookeeper.KeeperException$NoAuthException: KeeperErrorCode = NoAuth for /config/topics/test" when creating or deleting Kafka operations authorized through the Ranger policies
PROBLEM DESCRIPTION When creating or deleting topics in Kafka, they cannot be authorized through the ...
- SQL 语法使用
SQL 语句 语句 语法 AND / OR SELECT column_name(s)FROM table_nameWHERE conditionAND|OR condition ALTER TABL ...
- Python Threading问题:TypeError in Threading. function takes 1 positional argument but 100 were given
在使用python多线程module Threading时: import threading t = threading.Thread(target=getTemperature, args = ( ...
- 类String 常用方法
字符串当中的常用方法之比较相关的方法 public boolean equals (object obj):将此字符串与指定的对象进行比较(只有参数是字符串并且内容相同才会返回true) public ...
- RB-Tree删除详解
红黑树的删除操作较于插入操作,情况更为复杂: 考虑到红黑节点的差异性,我们在此通过红黑节点来考虑这个问题,即仅仅通过要删除的节点是红节点,还是黑节点来讨论不同的情况: 1 删除的红节点为叶子结点(此 ...
- jdbc连接字符串
MySQL:String Driver="com.mysql.jdbc.Driver"; //驱动程序String URL="jdbc:mysql://localhost ...
- Hyperscan-5.1.0 安装
安装依赖ragel ragel源码下载地址 编译安装 $ tar -xvf ragel-6.10.tar.gz $ cd ragel-6.10 $ ./configure $ make $ sudo ...
- 微信小程序域名
微信小程序与第三方服务器通讯的域名必要条件1.一个已备案的域名,不是localhost.也不是127.0.0.1,域名不能加端口2.加ssl证书,也就是https://~~~3.HTTPS 服务器的 ...