简单说下 想要实现的内容

我们有一个主窗口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向界面中嵌套新的界面的更多相关文章

  1. Winform界面中主从表编辑界面的快速处理

    在Winform开发中,我们往往除了常规的单表信息录入外,有时候设计到多个主从表的数据显示.编辑等界面,单表的信息一般就是控件和对象实体一一对应,然后调用API保存即可,主从表就需要另外特殊处理,本随 ...

  2. Qt 5.0+ 中 connect 新语法与重载函数不兼容问题的解决方法,以及个人看法

    Qt 5.0+ 版本提供了 connect 的新语法,相比之前的语法新语法可以提供编译期检查,使用也更方便.可是使用过程中发现一个小问题——当某个 signal 和成员函数是重载关系的时候,qmake ...

  3. 在Winform框架界面中改变并存储界面皮肤样式

    在本篇介绍的Winform界面样式改变及存储操作中,是指基于DevExpress进行界面样式的变化.一般情况下,默认我们会为客户提供多种DevExpress的界面皮肤以供个人喜好选择,默认DevExp ...

  4. Winform界面中实现通用工具栏按钮的事件处理

    在一个给客户做的项目中,界面要求修改增加通用工具栏按钮的事件处理,也就是在主界面中放置几个固定的功能操作按钮,打开不同的页面的时候,实现对应页面的功能处理,这种和我标准的界面处理方式有所不同,标准的列 ...

  5. 第15.11节 PyQt(Python+Qt)入门学习:Qt Designer(设计师)组件Property Editor(属性编辑)界面中主窗口QMainWindow类相关属性详解

    概述 主窗口对象是在新建窗口对象时,选择main window类型的模板时创建的窗口对象,如图: 在属性编辑界面中,主窗口对象与QMainWindow相关的属性包括:iconSize.toolButt ...

  6. [OpenCV Qt教程] 在Qt图形界面中显示OpenCV图像的OpenGL Widget (第一部分)

    本文译自:http://www.robot-home.it/blog/en/software/tutorial-opencv-qt-opengl-widget-per-visualizzare-imm ...

  7. Qt界面中嵌入其他exe程序的界面,使用Qt5

    下面用一个小例子来演示如何在Qt的界面中嵌入其他exe程序的界面,最终效果如下图所示.本文参考了 http://blog.csdn.net/jiaoyaziyang/article/details/4 ...

  8. PyQt(Python+Qt)入门:Designer组件属性编辑界面中QWidget类相关属性详解

    本文适用人员:本文比较长,适合不理解Qt Designer部件属性的人员阅读或资料查找. 声明: 1.如果有人认为本文是简单的复制粘贴+翻译而成,敬请读本文最后的后记: 2.本文为老猿Python学习 ...

  9. Qt: 界面中使用中文(三种方法,QApplication::translate可指定编码)

    界面中的字符串, 尽量的使用QObject::tr(text); 以便以后转换界面语言, 即使现在你还不考虑这个问题. 方法一:  每次设置时都使用: button->setText(QAppl ...

随机推荐

  1. C#面向对象-多态

    面向对象的三大特性(封装,继承,多态)大多少人都应该知道.前两个的话比较容易理解.本文主要说一下面向对象中的多态. 什么是多态?不同的对象对同一操作,产生不同的执行结果.这就是多态.那么多态又包含了: ...

  2. 利用Python写一个抽奖程序,解密游戏内抽奖的秘密

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 极客挖掘机 PS:如有需要Python学习资料的小伙伴可以加点击下 ...

  3. 012.MongoDB读写分离

    一 读写分离概述 1.1 读写分离描述 从应用程序角度来看,使用Replica Set 和使用单台mongo很像.默认的驱动程序会连接primary节点,并且将所有读写请求都路由到主节点.但也可以通过 ...

  4. [洛谷P1169][题解][ZJOI2007]午餐

    这是题目吗? 显然的DP,讲几个重要的地方 1.贪心:让吃饭时间长的先排队(证明从略) 2.状态: f[i][j][k]代表前i个人,一号时间j,二号时间k显然MLE 所以压缩成f[i][j]代表前i ...

  5. Java类BufferedImage

    https://docs.oracle.com/javase/7/docs/api/java/awt/image/BandedSampleModel.html

  6. [译]Vulkan教程(09)窗口表面

    [译]Vulkan教程(09)窗口表面 Since Vulkan is a platform agnostic API, it can not interface directly with the ...

  7. IT兄弟连 HTML5教程 HTML5表单 小结及习题

    小结 HTML表单提交的方法有get方法和post方法,get方法的作用是从指定的资源请求数据,post方法的作用是向指定的资源提交要被处理的数据.HTML表单一直都是Web的核心技术之一,有了它我们 ...

  8. python 学习 (1-3)

    流程控制if语句 语法种类:   第⼀种语法: if 条件: #引号是将条件与结果分开. 结果1. # 四个空格,或者⼀个tab键,这个是告诉程序满⾜这个条件的 结果2.   如果条件是真(True) ...

  9. ETC到底要不要办?有什么好处?

    一说到ETC,开车的朋友想必不会陌生.但很多车友却不太愿意办理ETC, 究其原因,主要是一些谣言所致,一传一十传百最后变成了真实的谎言,并且对此深信不疑, 比如下面5个广泛流传的谣言     在来看看 ...

  10. Qt平台下使用QJson解析和构建JSON字符串

    前言 上一篇介绍了C语言写的JSON解析库cJSON的使用:使用cJSON库解析和构建JSON字符串 本篇文章介绍,Qt开发环境下QJson库的使用示例,JSON解析配合API接口,就可以实现一些有趣 ...