Qt中在QMAinWindow内添加layout出现问题_qt qmainwindow layout-程序员宅基地

技术标签: QMainWindow  # QtWidget(Qt C++)  qt  Qt学习笔记  Layout  布局  

    在QDialog的派生类中,添加Layout,可在创建Layout对象的同时指定其父窗口,但这在QMainWindow中行不通,可能会出现" ..已经设置过布局.. "或者设置的Layout不能正常显示。这是因为基于主窗口的程序,默认已经有了自己的布局管理器,所以再次设置Layout的话会失效。

    QMainWindow的中心控件是一个QWidget,可以通过setCentralWidget进行设置。若想在QMainWindow中添加 layout,需要通过将该Layout添加到一个QWidget对象中,然后将该布局设置为该空间的布局,最后设置该控件为QMainWindow的中心控件,步骤如下:

   

①创建一个QWidget实例,并将这个实例设置为centralWidget:    

 

    QWidget*widget=newQWidget();
    this->setCentralWidget(widget);
 

 

②创建一个主布局mainLayout,添加自己需要的控件,设置布局属性:

 

 
    QHBoxLayout*mainLayout=newQHBoxLayout;
mainLayout->setMargin(5);
    mainLayout->setSpacing(5);
    mainLayout->addWidget(list);
    mainLayout->addWidget(stack,0,Qt::AlignRight);
    mainLayout->setStretchFactor(list,1);
    mainLayout->setStretchFactor(stack,3);
 

 

③将widget的布局设置为mainLayout:

 

 
 
    centralWidget()->setLayout(mainLayout);

 

 

 
 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zbw1185/article/details/48805833

智能推荐

avio_open2函数分析-程序员宅基地

文章浏览阅读3.2k次。int avio_open(AVIOContext **s, const char *url, int flags);int avio_open2(AVIOContext **s, const char *url, int flags,const AVIOInterruptCB *int_cb, AVDictionary **options);从源码中来看avio_open就是调用avio_open2()来实现的,只是把avio_open2()的最后两个参数置NULL,s:会创建一个AVIOCont_avio_open

STDIN_FILENO/STDOUT_FILENO与 stdin/stdout 的区别-程序员宅基地

文章浏览阅读582次。STDIN_FILENO的作用及与stdin 的区别1.STDIN_FILENO的作用STDIN_FILENO属于系统API接口库,其声明为 int 型,是一个打开文件句柄,对应的函数主要包括 open/read/write/close 等系统级调用。操作系统一级提供的文件API都是以文件描述符来表示文件。STDIN_FILENO就是标准输入设备(一般是键盘)的文件描述符。2.区别..._stdin_fileno

HackerRank Week of Code 23——Enclosure(等周定理+余弦定理)_2016 e - enclosure csdn-程序员宅基地

文章浏览阅读573次。Vigo the Carpathian is an evil feudal lord. He wants to seize land from his serfs by enclosing it with a polygonal fence where each respective side has a strictly specified length. Can you help him max_2016 e - enclosure csdn

Python【No-17】线程_pyno 17-程序员宅基地

文章浏览阅读109次。创建子线程并启动函数方式继承方式插队 join()查看所有线程多线程共享全局变量锁死锁_pyno 17

损失函数:categorical_crossentropy-程序员宅基地

文章浏览阅读4.4w次,点赞35次,收藏142次。损失函数:categorical_crossentropy损失函数讲解合集概述正文公式分析代码分析MORE损失函数讲解合集binary_crossentropycategorical_crossentropy概述本文讲解的是categorical_crossentropy损失函数,categorical_crossentropy和binary_crossentropy比较容易混淆,想了解binary_crossentropy可以点击查看。本文将通过数学公式+代码的形式讲解。正文公式分析cat_categorical_crossentropy

NGUI的UISprite动态染色的一种解决方案-程序员宅基地

文章浏览阅读4.2k次。游戏的UI开发中经常会遇到_动态染色

随便推点

oracle order by 为空,Oracleorderby处理NULL值-程序员宅基地

文章浏览阅读261次。1、缺省处理 Oracle在Order by 时缺省认为null是最大值,所以如果是ASC升序则排在最后,DESC降序则排在最前2、使用nvl函数 nvl函1、缺省处理Oracle在Order by 时缺省认为null是最大值,所以如果是ASC升序则排在最后,DESC降序则排在最前2、使用nvl函数nvl函数可以将输入参数为空时转换为一特定值,如nvl(employee_name,’张三’)表示当..._oracle order by 空值

UnityWebRequest的初步使用及常用方法解析_unitywebrequest dispose-程序员宅基地

文章浏览阅读7w次,点赞37次,收藏173次。今天,来学习一下Unity新的网络请求方式UnityWebRequest还是老规矩,先看描述。描述UnityWebRequest对象用于与Web服务器通信。UnityWebRequests处理与Web服务器的HTTP通信流。 其他对象 - 特别是DownloadHandler和UploadHandler - 分别管理下载和上传数据。注意:一旦UnityWebRequest开始通过调用S..._unitywebrequest dispose

pymysql 与tornado数据库的交互。和使用。_tornado pymysql-程序员宅基地

文章浏览阅读675次。import pymysqlimport tornado.httpserverimport tornado.ioloopimport tornado.optionsimport tornado.webfrom tornado.options import define,optionsdefine('port', default=8000, help='run port', type..._tornado pymysql

Xposed模块开发入门-最基本的项目创建_virtualxposed官网-程序员宅基地

文章浏览阅读1.4k次。本人结合网络上的种种教程以及自己实践,记录下一个完整的基本Xposed模块项目的创建过程。 开发环境:Mac系统 AndroidStudio 3.2.1 gradle 3.2.1 VirtualXposed(无需Root的使用Xposed模块) Xposed、相关网站Xposed官方网站:https://api.xposed.info/reference/package..._virtualxposed官网

KITTI 数据集简介_kitti数据集介绍-程序员宅基地

文章浏览阅读5.4k次,点赞7次,收藏35次。KITTI 数据集介绍_kitti数据集介绍

详解如何修改IAR工程文件名_iar软件怎么改文件名-程序员宅基地

文章浏览阅读2.3k次。很多时候我们都为了图个方便,直接复制一份以前做过的项目,但是工程名却一直无法修改。我在网上寻找了很多,网上也给出很多方法,却一直不成功。不过现在终于解决这个问题了,在此为大家分享一下自己如何修改工程名。第一,将工程中后缀名为“dep,ewd,ewp,eww”的这四个文件直接重命名为自己想要的名字,如原工程名字是tim_delay,现在重命名为AD_change。第二,打开一个空的记事本,将后缀..._iar软件怎么改文件名

推荐文章

热门文章

相关标签