Qt的布局------部件布局

原创 2015年07月07日 15:09:35

Qt提供了几个类使得部件布局更加简单。

·QGroupBox

·QButtonGroup

·QSplitter

·QWidgetStack


1、QGroupBox类

用于在部件周围绘制一个框架。可以在框架的上端添加一些描述信息。

QGroupBox *groupbox=new QGroupBox(this);
groupbox->setGoemetry(10,10,130,80);
group->setTitle("a Group Box");//设置分组框的标题

2、QButtonGroup类

与QGroupBox类非常相似,只是在布置按钮方面有特殊的功能。最常用的就是布置单选按钮。

将单选按钮插入到QButtonGroup类对象是,他们之间是自动互相排斥的。但是为了使其他按钮之间互斥,必要调用QButtonGroup::setExclusibe(true)函数。该类用法参见Qt布局-----按钮标签表的使用。(http://blog.csdn.net/sh191461679/article/details/46779425)


3、QSplitter类

该类对象可以使用户通过拖动拆分器提供的部件间的分界线控制子部件的大小。

QSplitter spliter=new QSplitter(this);//创建拆分器
spliter->setGoemetry(10,10,130,80);
QPushButton b1=new QPushButton ("button 1",spliter);
QPushButton b2=new QPushButton ("button 2",spliter);//将拆分器作为两个按钮的父对象,则在两个按钮之间插入了一个拆分器。
拖动两个按钮之间的拆分器可以改变按钮的大小。默认为水平拆分器,也建议创建垂直拆分器。通过调用QSplitter::setOrientation(Vertical)或者在构造函数中使用QSplitter(Vertical,this)。

使用QSplitter::setMinmumSize()函数来实现拆分器部件中的最小尺寸。

QSplitter::setResizeMode()实现定义部件的大小是否随分割器尺寸的改变而改变。

4、QWidgetStack类

当有多个部件,并且每次只希望显示一个部件时,就需要使用QWidgetStack类。

QWidgetStack *widgetstack=new QWidgetStack(this);
widgetstack->setGeometry(10,10,130,80);
widgetstack->addWidget(b1,1);//第一个参数为被添加部件指针,第二个参数为该部件在栈中的唯一整数标识号。标识号可以代替指针用作 
                              // raiseWidget()函数的参数
widgetstack->addWidget(b2,2);//将2个按钮添加的widgetstack中
widgetstack->raiseWidget(b1);//使b1按钮可见






Qt之布局管理——堆栈窗体QStackedWidget

1.控件位置 Containers→StackedWidget 2.控件介绍 StackedWidget控件中文称作“控件栈”。Qt提供了这样一个控件栈,可以使开发人员用栈管理控件像用栈管理其他...
  • luoyouren
  • luoyouren
  • 2016年04月07日 16:20
  • 5971

Qt控件精讲四:容器

Qt Creator有9种Containers Widgets,如图: Containers Widgets的Qt类和名称介绍如下表:...
  • yuxikuo_1
  • yuxikuo_1
  • 2013年12月22日 16:42
  • 6973

Qt局部界面切换(qt 2.x)

前言很多时候,我们都希望自己的界面通过点击不同的按钮QPushbutton,来得到得到不同的界面,从而实现局部界面切换。 我这里主要讲的是嵌入式linux qt,目前,嵌入式当中,完美而且稳定的qt当...
  • feiyinzilgd
  • feiyinzilgd
  • 2010年03月15日 00:02
  • 7467

Qt学习——堆栈窗体QStackedWidget类

这些窗体都比较类似,相对简单,就没什么可以深入研究的了。 下面用代码实现上面窗口的设计: 1.建立项目时基类选择QDialog,取消Gernerate form复选框的选中状...
  • a649518776
  • a649518776
  • 2011年07月27日 09:25
  • 45072

Qt使用QStackedWidget实现堆栈窗口

堆栈窗口可以根据选择项的不同显示不同的窗体     // stackeddlg.h #ifndef STACKEDDLG_H #define STACKEDDLG_H #inc...
  • qiurisuixiang
  • qiurisuixiang
  • 2012年07月25日 21:59
  • 13994

Qt之QButtonGroup简单使用

在项目中遇到一个需求,根据外部条件来确定你的界面上显示多少个按钮。于是,写一个小程序测试了下,效果还可以。 主要用到QButtonGroup类,需要包含头文件,接着申请一个按钮数组对象QButton...
  • u013782830
  • u013782830
  • 2016年11月29日 14:14
  • 4985

初步学习Qt布局

布局管理 以下是Qt手册中的《布局管理》的译文 在一个Widget中,Qt布局管理系统提供了一个简单而有效的方式来自动组织子widget,以保证他们能够很好地利用可用空间。 介绍 Qt包含一个...
  • happyrabbit456
  • happyrabbit456
  • 2016年09月29日 14:59
  • 812

Qt布局管理详解

Qt布局管理手册: http://doc.qt.io/qt-5/qtwidgets-index.html#styles http://doc.qt.io/qt-5/qtwidgets-index....
  • fanyun_01
  • fanyun_01
  • 2016年09月30日 09:00
  • 5138

Qt中QStack简单应用

栈就是一种后进先出的数据结构,就是最先进入的数据在栈的最底下,最后才出来,最后进入的数据,在栈的顶端,最先出来。 下面利用栈实现了一个简单十进制到二进制的转换。 比如十进制的 10 转换为 二进制...
  • bullzerone
  • bullzerone
  • 2015年07月10日 00:33
  • 1852

Qt Quick之StackView详解(1)

Qt Quick中的StackView提供了一个基于堆栈的导航模型,适用于向导类、层级递进类的UI。...
  • foruok
  • foruok
  • 2015年07月13日 06:38
  • 11837
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Qt的布局------部件布局
举报原因:
原因补充:

(最多只允许输入30个字)