开发一个图形界面应用程序,界面的布局影响到界面的美观。在设计一个界面之前,应该考虑到开发的界面可能给不用的用户使用,而用户的屏幕大小、纵横比例、分辨率可能不同,界面还可能是可缩放的,程序应该可以适应这些变化。
前面的程序中都是使用setGeometry()方法定位控件的位置,这个方法比较笨拙。试想如果控件很多,布局这些控件需要编写大量的代码。幸运的是,QT提供了更好的方法布局控件。
常用的三种布局方法:
(1)使用水平布局类QHBoxLayout;
(2)使用垂直布局类QVBoxLayout;
(3)使用网格布局类QGridLayout。
这三种方法可以嵌套使用。
控件在布局时可以先不指定父窗口,最后交由Layout统一指定。
示例:
#include <QApplication>
#include <QDialog>
#include <QPushButton>
#include <QLineEdit>
#include <QLayout>
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QDialog *mainWindow = new QDialog;
QHBoxLayout *topLayout = new QHBoxLayout;
QLabel *lbl = new QLabel(Q