qt-Qt如何将QLayout提升为QWidget

问题描述

Qt如何将QLayout提升为QWidget

现有继承自QDialog类的类A
void A::function()
{
……
1……QVBoxLayout vboxlayout = new QVBoxLayout( this ) ;
2……QHBoxLayout *hboxlayout = new QHBoxLayout( vboxlayout ) ; // 不行,()里的对象必须能转为QWidget

3……QPushButton *btnTemp = new QPushButton( hboxlayout ) ; // 同上
……
}
有没有方法可以实现第2和第3行,这样 child 和 parent 关系层次更清新。
上次在群里听到有人说可以把Qlayout提升为QWidget,可以实现么,怎么实现。

时间: 2024-12-30 19:01:23

qt-Qt如何将QLayout提升为QWidget的相关文章

Qt之设置QWidget背景色

简述 QWidget是所有用户界面对象的基类,这意味着可以用同样的方法为其它子类控件改变背景颜色. Qt中窗口背景的设置,下面介绍三种方法. 使用QPalette 使用Style Sheet 绘图事件 一般我不用QSS设置窗口背景,也不建议使用.(这里是对于窗口而,如果是子部件当然可以).因为窗口使用QSS设置背景之后,若子部件不使用同样的方式来设置,默认则会继承父窗口的样式. 使用QPalette 使用QPalette来设置背景色 m_pWidget = new QWidget(this);

Qt之格栅布局(QGridLayout)

简述 QGridLayout:格栅布局,也被称作网格布局(多行多列). 栅格布局将位于其中的窗口部件放入一个网状的栅格之中.QGridLayout需要将提供给它的空间划分成的行和列,并把每个窗口部件插入并管理到正确的单元格. 栅格布局是这样工作的: 它计算了位于其中的空间,然后将它们合理的划分成若干个行(row)和列(column),并把每个由它管理的窗口部件放置在合适的单元之中,这里所指的单元(cell)即是指由行和列交叉所划分出来的空间. 在栅格布局中,行和列本质上是相同的,只是叫法不同而已

Qt QScrollArea and layout in code

Qt QScrollArea and layout in code 一.参考文档: 1. Qt 第六章 QScrollArea类给QWidget添加滚动条 http://blog.csdn.net/commshare/article/details/6753978 2. 24小时学会QT编程──窗口的缩放和滚动条的使用 http://blog.163.com/vic_kk/blog/static/4947052420083308325238/ 3. QWidget::setLayout: Att

《Qt 实战一二三》

简介 "我们来自Qt分享&&交流,我们来自Qt Quick分享&&交流",不管你是笑了,还是笑了,反正我们是认真的.我们就是要找寻一种Hold不住的状态,来开始每一天的点滴分享,我们是一个有激情,有态度的部队. 但是我们还是我们,我们只是多了一份责任.古语有云:"不积跬步无以至千里,不积小流无以成江海",所以每一个伟大事务的产生都不是一蹴而就的.现在我们要立足眼下,把第一站放在地球,"<Qt 实战一二三>&quo

Qt实战一二三

简介 "我们来自Qt分享&&交流,我们来自Qt Quick分享&&交流",不管你是笑了,还是笑了,反正我们是认真的.我们就是要找寻一种Hold不住的状态,来开始每一天的点滴分享,我们是一个有激情,有态度的部队,还在等什么,赶快加入吧! 但是我们还是我们,我们只是多了一份责任.古语有云:"不积跬步无以至千里,不积小流无以成江海",所以每一个伟大事务的产生都不是一蹴而就的.现在我们需要立足眼下,把我们的第一站放在地球,"Qt实战

多线程-Qt 在次线程中截图问题

问题描述 Qt 在次线程中截图问题 我在用QT做一个软件控件的软件,服务端需不断地截取屏幕图像然后发送给客户端,这就需要服务端开一个独立的线程完成 截图->传送 .但是Qt里限制在线程中创建QWidget类及其子类,所以无法在线程中 完成截图的操作(我用的QPixmap中的grabWindow方法). QPixmap属于QWidget的子类,每当在线程中执行截图: pixmap = QPixmap::grabWindow(..),的时候,程序会崩溃. 求各位研究过这个的大哥帮帮忙,看看怎么解决,

QT 5.0 正式版发布,支持 C++11

QT 5.0 正式版终于来了,抢先下载体验:http://qt-project.org/downloads .详细改进内容请看前几个版本的新闻. QT 5.0 包括: 提升图形质量 在受限硬件平台上的性能提升 跨平台移植性 支持 C++11 QtWebKit 支持 HTML5 新的 API 提升了 QML 引擎 易用且兼容 Qt 4 版本. Qt 是一个跨平台的C++图形用户界面应用程序框架.它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能.Qt是完全面向对象的,很容易扩展,并且允许

Qt之自定义界面(窗体缩放-跨平台终极版)

简述 通过上一节内容,我们实现了窗体的缩放,功能很不错,但是很遗憾-不支持跨平台!如果对于多平台来说,这是一个硬伤,所以,我们急需要一个能够支持跨平台的实现方案. 在网上看到过很多不同的实现方式,多多少少会存在一些问题-要么融合度太高.要么不能很好地进行移动.缩放.基于前人的分享与总结,最后,我花了很长时间来完善.独乐乐不如众乐乐,既然纯开源-那就全部分享出来. 简述 效果 窗体缩放 实现 接口说明 使用方式 平台支持 效果 窗体缩放 实现 frameless_helper.h #ifndef

Qt之自定义控件(开关按钮)

简述 接触过IOS系统的童鞋们应该对开关按钮很熟悉,在设置里面经常遇到,切换时候的滑动效果比较帅气. 通常说的开关按钮,有两个状态:on.off. 下面,我们利用自定义控件来实现一个开关按钮. 简述 原理 源码 示例 效果 源码 更多参考 原理 重写鼠标按下事件(mousePressEvent).释放事件(mouseReleaseEvent),用于切换开关状态. 重写绘制事件(paintEvent),用于绘制开关效果. 使用QTimer,定时刷新,让开关切换时产生动画效果. 其余接口用于扩展,也