Qt 布局那些事是那事本文介绍的内容,直接进入主题。浅谈GridLayout是布局一个非常强大的布局管理器,它可以实现很多复杂的布局,名字中暗示它将所有控件放置在类似网格的布局中.^__^GridLayout有两个构造函数.
先说下GridLayout
GridLayout的意思是按照网格布局,我记得这个在java中的那事GUI布局也有这个。比较容易理解,浅谈就好比一个一个的布局方格,我们先来看看Qt文档中给出的那事定义:
- void QGridLayout::addWidget ( QWidget * widget, int row, int column, Qt::Alignment alignment = 0 )
- void QGridLayout::addWidget ( QWidget * widget, int fromRow, int fromColumn, int rowSpan, int columnSpan, Qt::Alignment alignment = 0 )
***个的布局的参数的意思依次为:QGridLayoutName,行号,列号。浅谈
第二个的布局布局的参数的意思依次为:QGridLayoutName,行号,列号,那事行宽,列宽。
***,要将设置好的布局添加进去,setLayout(yourLayout);
下面是写的一个简单的小例子:
- QLabel* nameLabel=new QLabel(tr("Name"));
- QLineEdit* nameLine=new QLineEdit;
- QLabel* addressLabel=new QLabel(tr("Address"));
- QTextEdit* addressText=new QTextEdit;
- //布局采用gridLayout
- QGridLayout* mainlayout=new QGridLayout;
- mainlayout->addWidget(nameLabel,0,0,1,1);
- mainlayout->addWidget(nameLine,0,1,1,3);
- mainlayout->addWidget(addressLabel,1,0,3,1,Qt::AlignTop);
- mainlayout->addWidget(addressText,1,1,3,3);
- setLayout(mainlayout);
关于addStretch()
- QVBoxLayout* buttonLayout=new QVBoxLayout;
- buttonLayout->addWidget(addButton);
- buttonLayout->addWidget(submitButton);
- buttonLayout->addWidget(cancelButton);
- buttonLayout->addStretch();
上面这一段加不加***一句的效果如下图:
小结:浅谈 Qt 布局那些事的内容介绍完了希望本文对你有所帮助!更多内容请参考编辑推荐。
责任编辑:zhaolei 来源: 互联网 Qt 布局 GridLayout(责任编辑:探索)
大生农业金融(01103.HK)发布公告:年度公司持有人应占亏损11.25亿元
“海基一号”平台主体工程海上安装完成 处于南海内波流主通道上