当前位置: 首页 > 科技观察

说说Qt布局那些事

时间:2023-03-18 22:26:51 科技观察

Qt布局那些事就是本文介绍的内容,直接进入正题。GridLayout是一个非常强大的布局管理器,可以实现很多复杂的布局。顾名思义,它将所有控件放置在类似网格的布局中。^__^GridLayout有两个构造函数。先说一下GridLayoutGridLayout的意思就是按照网格布局,我记得java中的这个GUI布局也有这个。比较容易理解,就像一个个网格一样,我们先看看Qt文档中给出的定义:voidQGridLayout::addWidget(QWidget*widget,introw,intcolumn,Qt::Alignmentalignment=0)voidQGridLayout::addWidget(QWidget*widget,intfromRow,intfromColumn,introwSpan,intcolumnSpan,Qt::Alignmentalignment=0)第一个布局参数的含义是:QGridLayoutName,行号,列号。第二个布局参数的含义是:QGridLayoutName,行号,列号,行宽,列宽。***,添加设置的布局,setLayout(yourLayout);这是一个简单的例子:QLabel*nameLabel=newQLabel(tr("Name"));QLineEdit*nameLine=newQLineEdit;QLabel*addressLabel=newQLabel(tr("地址"));QTextEdit*addressText=newQTextEdit;//布局采用gridLayoutQGridLayout*mainlayout=newQGridLayout;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=newQVBoxLayout;buttonLayout->addWidget(addButton);buttonLayout->addWidget(submitButton);buttonLayout->addWidget(cancelButton);buttonLayout->addStretch();***语句的效果如下:总结:说说Qt布局,那些东西介绍。希望这篇文章对你有所帮助!更多内容请参考小编推荐。