QT--base20161125 layout嵌套使用
来源:互联网 发布:公司网络维护外包 编辑:程序博客网 时间:2024/06/18 17:33
#include <QApplication>
#include <QWidget>#include <QGridLayout>#include <QLineEdit>#include <QPushButton>#include <QLabel>int main(int argc,char *argv[]){ QApplication app(argc,argv); QWidget w; w.setWindowTitle("Hello Wrold"); QLineEdit edit; QPushButton button; button.setText("某某"); // button.show();#if 0 layout.setColumnStretch(0,1); layout.setRowStretch(0,1); layout.setColumnStretch(3,1); layout.setRowStretch(4,1); layout.addWidget(&edit,1,1); layout.addWidget(&button,1,2); layout.addWidget(new QLineEdit("2,1"),2,1); layout.addWidget(new QPushButton("2,2"),2,2); //增加一个与与上面一样长的button layout.addWidget(new QPushButton("3,1"),3,1,1,2);#endif QGridLayout layout; QLineEdit *password; layout.setColumnStretch(0,1);//为了使显示在最中间需要设置弹簧 layout.setRowStretch(0,1); layout.setColumnStretch(3,1); layout.setRowStretch(4,1); layout.addWidget(new QLabel("Username"),1,1); layout.addWidget(new QLineEdit(),1,2); layout.addWidget(new QLabel("Password"),2,1); layout.addWidget(password=new QLineEdit(),2,2); //layout.addWidget(new QPushButton("登录"),3,2);//这样显示的不好看 想在右边一点 QHBoxLayout* hbox; layout.addLayout(hbox=new QHBoxLayout,3,2);//添加一个layout在这里 layout嵌套使用 hbox->addStretch(1); hbox->addWidget(new QPushButton("登录")); password->setEchoMode(QLineEdit::Password); w.show(); w.setLayout(&layout); return app.exec();}
开发一个图形界面应用程序,界面的布局影响到界面的美观。在设计一个界面之前,应该考虑到开发的界面可能给不用的用户使用,而用户的屏幕大小、纵横比例、分辨率可能不同,界面还可能是可缩放的,程序应该可以适应这些变化。试想如果控件很多,布局这些控件需要编写大量的代码。幸运的是,QT提供了更好的方法布局控件。
常用的三种布局方法:
(1)使用水平布局类QHBoxLayout;
(2)使用垂直布局类QVBoxLayout;
(3)使用网格布局类QGridLayout。
这里嵌套使用了后面两种。
QGridLayout的常用方法
(1)addWidget:
1)row:指放置控件的网格行号(行号从0开始);
2)colum:指放置控件的网格列号(从0开始);
3)alignment:对齐方式。
4)fromRow:指放置控件的起始网格行号;
5)fromColumn:指放置控件的起始网格列号;
6)rowSpan:指放置控件占多少行;
7)columnSpan:指放置控件占多少列。
(2)addLayout
参数与addWidget类似。
(3)setSpacing
2 0
- QT--base20161125 layout嵌套使用
- QT layout 使用总结
- Qt---Layout
- QT Layout
- QT layout
- yii2 嵌套布局 layout
- QT 布局管理器的嵌套使用
- 使用Qt为MainWindow设置layout时报错
- Qt基础 - Qt Layout Management
- QT Layout源码解析
- Qt layout布局
- qt入门 layout布局
- QT编程之Layout
- QT之Layout
- qt界面Layout::QSizePolicy
- QT 中Vertical Layout 和 Horizontal Layout
- Qt嵌套Widget
- QT 画线嵌套问题
- ubuntu 14.04上安装opencv 2.4.13
- 制作java小程序读取数据库并替换生成新的文本
- 使用TextInputLayout时,error信息为空白
- Struts旅程(六)Struts页面转发控制ActionForward和ActionMapping
- Sirqul 的一些研究使用总结以及介绍。
- QT--base20161125 layout嵌套使用
- Android基础面试题
- 安卓定时
- 首个Adobe XD教程丨如何用Adobe Experience Design (XD)快速设计图标
- Java开发中的23种设计模式详解
- 解决eclipse+MAVEN提示One or more constraints have not been satisfied.的问题
- Javascript和Jquery之间转化
- 如何写好面向对象程序
- Jfinal+quartz实现作业调度