关于Qt-QGridLayout布局的简单使用
来源:互联网 发布:oppor9plusroot软件 编辑:程序博客网 时间:2024/04/30 03:12
分类:QT 2010-12-04 17:591791人阅读 评论(0)收藏 举报
注:此文是从我的QQ空间里移出来的,因为觉的用那么多空间,blog了太累了,它发表于 2010年01月07日 09:35
--------------------------------------------------------------------------------------------------------------------------------------------------------
本文转自:我朋友的QQ空间,如需要转载,请注明本地址
呃……在界面设计时一直困扰我的GridLayout布局今天算是搞定了.实际机上操作方式还是很简单.只是之前没有静下心来好好的使用.好了废话少说,进入正题吧。
关于网格布局的定义我就不在赘述了,对于编程的人来说那是侮辱智商的事情,接下来举一个简单的例子说明一下QGridLayout 的使用方式吧.
本次的用力描述是为一个QMainWindow窗口添加网格布局的两个并行的编辑框.即QLineEdit.
1.为MainWindow添加自定义布局:
首先需要注意的是,由于MainWindow自身就有布局,所以尽量不要直接添加自定义的布局界面,具体的方式为使用MainWindow自身封装的setCentralWidget(QWidget* widget)方法添加一个widget(一般使用QGroupBox就比较合适).然后在该widget里在添加布局setLayout.
2.为QGridLayout添加Widgets.
在QGridLayout添加widget方法--addWidget(QWidget , int , int , int , int)总,第一个int变量是widget的起始行数即(row),下一个是起始列数(即column),下一个是为所跨的行数,最后一个是所跨的列数.需要注意的是,在widget的起始行数不为0时,所跨行数最小不可以为0,最少必须是widget所在的行数.列数同样如此.否则控制台将报错,实际上的界面也运行不起来(直接就挂了).例如现在添加一个QLineEdit的起始行列数为(1 , 1),则所跨行数/列数不可再为(0 , 0),最小为(1 , 1).知道了这一点,接下来添加自己需要的效果的Widget就比较容易了.
以添加两个个QLineEdit为例:
我定义了三个QLineEidt的长度分别是6 , 3 .(这里的长度不是实际值,程序员都明白,添加到布局后布局会管理这些琐碎的东西的).而且都在起始行添加(即0行)
具体的执行语句就是:
QGroupBox* gBox = new QGroupBox;
this->setCentralWidget(gBox);
QGridLayout* layout = new QGridLayout(this);
layout->addWidget(new QLineEdit() , 0 , 0 , 0 , 5);
layout->addWidget(new QLineEdit() , 0 , 6 , 0 , 2);
this->resize(1000 , 600);
gBox->setLayout(layout);
这样,一个长度为6和长度为3的两个QLineEidt就会正常的显示出来了.
注意:大家可能也注意到了,这段可执行代码里可能this->resize(1000 , 600);是比较多余的.我承认,这个窗口大小的确设置的大了些.但如果不设置采用默认大小的话会出现显示的两个QLineEidt是等大小的.这个原因是qt的该布局自身设置了各自的相对最小显示.当窗口初始化的大小没有达到布局可以呈现的效果的时候,网格布局会对其做出自身的处理.这也是我在使用QGridLayout初期是遇到的比较恶心的一个现象了.不过如果没有对窗口做Size的上下限限制,调整窗口大小,依然会出现之前设置的效果.
- 关于Qt-QGridLayout布局的简单使用
- 关于Qt-QGridLayout布局的简单使用
- QT中的QGridLayout的使用
- Qt的QGridLayout按比例设定布局
- Qt的QGridLayout按比例设定布局
- Qt综合使用布局管理器(QVBoxLayout,QHBoxLayout,QGridLayout)
- Qt栅格布局管理器(QGridLayout)
- QT QGridLayout QHBoxLayout QVBoxLayout 布局管理器运用
- QT学习 之 布局(一) QGridLayout
- Qt之格栅布局(QGridLayout)
- Qt之格栅布局(QGridLayout)
- Qt之格栅布局(QGridLayout)
- Qt之格栅布局(QGridLayout)
- Qt之格栅布局(QGridLayout)
- pyqt布局管理器QGridLayout简单示例
- QGridlayout布局
- 使用QGridLayout布局实现翻页效果
- Qt学习:Qt中QGridLayout按比例设定布局
- 通信术语 名词
- ckeditor3.6.2复制word及wps图片上传
- ASP面试大全,有答案的哦
- XMLSpy注册码在线验证解决方法
- 关于STM32 FLASH上运行ecos的内存配置的一点解释
- 关于Qt-QGridLayout布局的简单使用
- map详解
- 美联储压力测试报告
- xmanager登陆AIX远程桌面故障解决
- OpenGL和DirectX的介绍
- 十分有效的DW CS5 序列号及破解方法
- oracle 索引的(创建、简介、技巧、怎样查看)
- 阻塞队列
- CSDN论坛RSS阅读,平板电脑专用