浅谈 Qt 布局那些事

移动开发
本文介绍的是浅谈 Qt 布局那些事,关于布局,也为友们分享了许多,想要获得更多内容,请参考本文末尾。

Qt 布局那些事是本文介绍的内容,直接进入主题。GridLayout是一个非常强大的布局管理器,它可以实现很多复杂的布局,名字中暗示它将所有控件放置在类似网格的布局中.^__^GridLayout有两个构造函数.

先说下GridLayout

GridLayout的意思是按照网格布局,我记得这个在java中的GUI布局也有这个。比较容易理解,就好比一个一个的方格,我们先来看看Qt文档中给出的定义:

  1. void QGridLayout::addWidget ( QWidget * widget, int row, int column, Qt::Alignment alignment = 0 )  
  2. void QGridLayout::addWidget ( QWidget * widget, int fromRow, int fromColumn, int rowSpan, int columnSpan, Qt::Alignment alignment = 0 ) 

***个的布局的参数的意思依次为:QGridLayoutName,行号,列号。

第二个的布局的参数的意思依次为:QGridLayoutName,行号,列号,行宽,列宽。

***,要将设置好的布局添加进去,setLayout(yourLayout);

下面是写的一个简单的小例子:

  1. QLabel* nameLabel=new QLabel(tr("Name"));  
  2. QLineEdit* nameLine=new QLineEdit;  
  3. QLabel* addressLabel=new QLabel(tr("Address"));  
  4. QTextEdit* addressText=new QTextEdit;  
  5.  
  6. //布局采用gridLayout  
  7. QGridLayout* mainlayout=new QGridLayout;  
  8. mainlayout->addWidget(nameLabel,0,0,1,1);  
  9. mainlayout->addWidget(nameLine,0,1,1,3);  
  10. mainlayout->addWidget(addressLabel,1,0,3,1,Qt::AlignTop);  
  11. mainlayout->addWidget(addressText,1,1,3,3);  
  12. setLayout(mainlayout); 

关于addStretch()

  1. QVBoxLayout* buttonLayout=new QVBoxLayout;  
  2. buttonLayout->addWidget(addButton);  
  3. buttonLayout->addWidget(submitButton);  
  4. buttonLayout->addWidget(cancelButton);  
  5. buttonLayout->addStretch(); 

上面这一段加不加***一句的效果如下图:

浅谈 Qt 布局那些事

小结:浅谈 Qt 布局那些事的内容介绍完了希望本文对你有所帮助!更多内容请参考编辑推荐。

责任编辑:zhaolei 来源: 互联网
相关推荐

2011-06-30 14:34:17

QT Tablewidge QTableWidg

2011-07-04 13:51:02

QT 对象 模型

2011-06-30 10:59:43

2011-07-04 15:43:03

Qt 布局管理器 designer

2019-04-04 13:49:41

MIMO频段手机信号

2011-05-19 16:47:50

软件测试

2012-05-01 08:06:49

手机

2024-02-04 17:03:30

2017-05-15 21:50:54

Linux引号

2012-01-02 19:30:22

iPad

2011-09-19 15:40:35

2020-07-29 08:14:59

云计算云迁移IT

2015-09-14 09:16:17

iOS统计打点

2010-07-26 11:02:19

Perl模式匹配

2009-07-29 10:36:04

北电收购

2011-08-22 16:42:43

SqliteiPad

2021-10-19 21:39:51

Unsafe构造器内存

2015-05-28 14:02:09

JavaJava日志性

2014-06-06 16:08:17

初志科技

2011-12-02 10:32:23

Java
点赞
收藏

51CTO技术栈公众号