QT向界面中嵌套新的界面
简单说下 想要实现的内容
我们有一个主窗口mainwindow,需要向其中放入新的界面,你可以自己定义里面内容。
大致的效果图如下

实现起来就是利用QT的layout布局 使用水平布局QHboxlayout或QVboxLayout
第一步,先进入ui编辑界面,加入一个水平或者垂直的布局(根据自己选则,我用水平)充满整个mainwindow

注意右边我更改了 QHBoxLayout的名称 为pHBoxLayout
然后运行一遍 ;(注意需要运行一遍 要不然类找不到pHBoxLayout 这个布局)
接着定义一个方法(向mainwindow增加窗口的方法) (mainwindow.cpp)
void MainWindow::putwidget(QWidget* widget)
{
ui->pHBoxLayout->addWidget(widget);
}
新建一个class文件 定义为myWidget名称 inherent QObject和QWidget
在类名myWidget后面增加 :public QWidget

在myWidget中增加该窗口的背景色 区分其他区域
myWidget::myWidget()
{
this->setAttribute(Qt::WA_StyledBackground,true);
this->setStyleSheet("background-color: rgb(255,255, 255)");
}
在main函数中添加(main.cpp)
myWidget *widget=new myWidget();
w.putwidget(widget);
编译运行一下
得到如下结果

后面的工作比较重复 就是慢慢增加左右布局,再将布局添加控件
注意两点:
新建一个layout布局时需要指定父类在括号中 leftWidget为需要定义布局的控件
QVBoxLayout *PHVBoxLayout=new QVBoxLayout(leftWidget);
定义这个控件时,需要定义指针形式
mywidget文件的代码为
#include "myWidget.h"
#include <QHBoxLayout>
#include <QVBoxLayout> myWidget::myWidget()
{
this->setAttribute(Qt::WA_StyledBackground,true);
this->setStyleSheet("background-color: rgb(255,255, 255)");
QWidget *leftWidget=new QWidget();
leftWidget->setStyleSheet("background-color: rgb(255,100, 255)");
QWidget *rightWidget=new QWidget();
rightWidget->setStyleSheet("background-color: rgb(255,255, 100)");
QHBoxLayout *PHBoxLayout=new QHBoxLayout(this);
PHBoxLayout->addWidget(leftWidget);
PHBoxLayout->addWidget(rightWidget); QWidget *lefttopWidget=new QWidget();
lefttopWidget->setStyleSheet("background-color: rgb(100,255, 100)");
QWidget *leftdownWidget=new QWidget();
leftdownWidget->setStyleSheet("background-color: rgb(255,100, 100)");
QVBoxLayout *PHVBoxLayout=new QVBoxLayout(leftWidget);
PHVBoxLayout->addWidget(lefttopWidget);
PHVBoxLayout->addWidget(leftdownWidget); QWidget *rightleftWidget=new QWidget();
rightleftWidget->setStyleSheet("background-color: rgb(100,100, 100)");
QWidget *rightrightWidget=new QWidget();
rightrightWidget->setStyleSheet("background-color: rgb(155,100, 30)");
QHBoxLayout *PHHBoxLayout=new QHBoxLayout(rightWidget);
PHHBoxLayout->addWidget(rightleftWidget);
PHHBoxLayout->addWidget(rightrightWidget);
}

最后代码如下 就几kb
链接:https://pan.baidu.com/s/1XenhRn2-qnuHzz_vo2BfHg
提取码:88y3
复制这段内容后打开百度网盘手机App,操作更方便哦
QT向界面中嵌套新的界面的更多相关文章
- Winform界面中主从表编辑界面的快速处理
在Winform开发中,我们往往除了常规的单表信息录入外,有时候设计到多个主从表的数据显示.编辑等界面,单表的信息一般就是控件和对象实体一一对应,然后调用API保存即可,主从表就需要另外特殊处理,本随 ...
- Qt 5.0+ 中 connect 新语法与重载函数不兼容问题的解决方法,以及个人看法
Qt 5.0+ 版本提供了 connect 的新语法,相比之前的语法新语法可以提供编译期检查,使用也更方便.可是使用过程中发现一个小问题——当某个 signal 和成员函数是重载关系的时候,qmake ...
- 在Winform框架界面中改变并存储界面皮肤样式
在本篇介绍的Winform界面样式改变及存储操作中,是指基于DevExpress进行界面样式的变化.一般情况下,默认我们会为客户提供多种DevExpress的界面皮肤以供个人喜好选择,默认DevExp ...
- Winform界面中实现通用工具栏按钮的事件处理
在一个给客户做的项目中,界面要求修改增加通用工具栏按钮的事件处理,也就是在主界面中放置几个固定的功能操作按钮,打开不同的页面的时候,实现对应页面的功能处理,这种和我标准的界面处理方式有所不同,标准的列 ...
- 第15.11节 PyQt(Python+Qt)入门学习:Qt Designer(设计师)组件Property Editor(属性编辑)界面中主窗口QMainWindow类相关属性详解
概述 主窗口对象是在新建窗口对象时,选择main window类型的模板时创建的窗口对象,如图: 在属性编辑界面中,主窗口对象与QMainWindow相关的属性包括:iconSize.toolButt ...
- [OpenCV Qt教程] 在Qt图形界面中显示OpenCV图像的OpenGL Widget (第一部分)
本文译自:http://www.robot-home.it/blog/en/software/tutorial-opencv-qt-opengl-widget-per-visualizzare-imm ...
- Qt界面中嵌入其他exe程序的界面,使用Qt5
下面用一个小例子来演示如何在Qt的界面中嵌入其他exe程序的界面,最终效果如下图所示.本文参考了 http://blog.csdn.net/jiaoyaziyang/article/details/4 ...
- PyQt(Python+Qt)入门:Designer组件属性编辑界面中QWidget类相关属性详解
本文适用人员:本文比较长,适合不理解Qt Designer部件属性的人员阅读或资料查找. 声明: 1.如果有人认为本文是简单的复制粘贴+翻译而成,敬请读本文最后的后记: 2.本文为老猿Python学习 ...
- Qt: 界面中使用中文(三种方法,QApplication::translate可指定编码)
界面中的字符串, 尽量的使用QObject::tr(text); 以便以后转换界面语言, 即使现在你还不考虑这个问题. 方法一: 每次设置时都使用: button->setText(QAppl ...
随机推荐
- LinqDB 查询数据库
LinqDB数据库查询数据,还是很方便的. 1. 添加Entity数据实体类 方便之后映射操作 /// <summary> /// 课件 /// </summary> [Dat ...
- SpringBoot 并发登录人数控制
通常系统都会限制同一个账号的登录人数,多人登录要么限制后者登录,要么踢出前者,Spring Security 提供了这样的功能,本文讲解一下在没有使用Security的时候如何手动实现这个功能 dem ...
- mac环境 python3.7 lzma.py 报错解决
import pandas as pd 在使用pandas时报Could not import the lzma module解决方法: 1.安装了 backports.lzma pip3 insta ...
- 如何在一台电脑上同时使用Gitee(码云)和Github?
前言 最近重装了一下系统,用上了 win10,之前电脑上的开发环境和配置都被清除了,由于工作原因我需要经常使用 Gitee(码云)和 Github ,之前配置好了一个,但是不知道怎么同时配置两个,所以 ...
- 2、nio的例子实践
下面的例子,说明了,nio中的三大核心类的基本使用.buffer,channel,selector package com.shengsiyuan.nio; import org.junit.Test ...
- 从零开始搭建solo个人博客系统
目录 1.博客系统的搭建流程 2.服务器选购 2.1阿里云学生主机 2.2普通云主机 3.域名购买与备案(可选) 3.1域名购买 3.2域名服务器备案 3.3域名服务器解析 4.solo安装 4.1 ...
- BIM工程信息管理系统-EF实体框架数据操作基类
EF实体框架数据操作基类主要是规范增.改.查.分页.Lambda表达式条件处理,以及异步操作等特性,这样能够尽可能的符合基类这个特殊类的定义,实现功能接口的最大化重用和统一. 1.程序代码 /// & ...
- SecureCRT 破解安装详细教程
SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序 跟xshell类似. 一.下载文件软件包和破解文件(64版本),我已经放在百度云,链接:https://pan.baidu.c ...
- python与数据库交互的模块pymysql
一.Mysql 1.前提 pip install pymysql import pymysql 2.详情 Connection对象 =====>用于连接数据库 用于建立与数据库的连接 创建对象: ...
- ReactNative: 使用Image图片组件
一.简介 在应用程序中,图片组件非常常见,不论是缩略图.大图.还是小图标等等,都需要使用图片组件进行显示.在Web开发中提供了<img/>标签显示图片,在iOS中提供了UIImageVie ...