QT学习记录之控件布局
作者:朱金灿
来源:http://blog.csdn.net/clever101
想到控件布局就会想到Windows编程中要实现对话框上的控件的合理布局是一件多么艰难的事情。对此QT提出了一个很方便的解决方案。
Qt有三个主要的布局管理器:
QHBoxLayout:水平排列控件。
QVBoxLayout:垂直排列控件。
QGridLayout: 按矩阵方式排列控件。
下面以一个简单的例子说明QHBoxLayout的用法:
#include "stdafx.h" #include <QtGui/QApplication> int main(int argc, char *argv[]) { QApplication a(argc, argv); QWidget* pWin = new QWidget; pWin->setWindowTitle("Enter Your age"); QSpinBox* pSpinBox = new QSpinBox(); pSpinBox->setRange(0,130); pSpinBox->setValue(35); QSlider* pSlider = new QSlider(Qt::Horizontal); pSlider->setRange(0,130); QHBoxLayout* pLayout = new QHBoxLayout; pLayout->addWidget(pSpinBox); pLayout->addWidget(pSlider); pWin->setLayout(pLayout); pWin->show(); return a.exec(); }
效果图如下:
我们把QHBoxLayout* pLayout = new QHBoxLayout;替换为QVBoxLayout* pLayout = new QVBoxLayout;看看效果怎么样:
可以看到QHBoxLayout实际上保证每个控件按照统一的高度横向排列,而QVBoxLayout是保证每个控件按照统一的宽度纵向排列。这样是不是比Windows编程中控件布局方便多了!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步