Qt的布局
- Qt的布局 推荐度:
- 相关推荐
Qt的布局
Qt的布局有四种:
- 垂直布局:QVBoxLayout
- 水平布局:QHBoxLayout
- 网格布局:QGridLayout
- 表单布局:QFormLayout
垂直布局
MainWindow::MainWindow(QWidget *parent): QWidget(parent)
{QWidget *window = new QWidget(this);QPushButton *button1 = new QPushButton("One");QPushButton *button2 = new QPushButton("Two");QPushButton *button3 = new QPushButton("Three");QPushButton *button4 = new QPushButton("Four");QPushButton *button5 = new QPushButton("Five");QVBoxLayout *layout = new QVBoxLayout(window);layout->addWidget(button1);layout->addWidget(button2);layout->addWidget(button3);layout->addWidget(button4);layout->addWidget(button5);window->show();}
MainWindow::MainWindow(QWidget *parent): QWidget(parent)
{QPushButton *button1 = new QPushButton("One");QPushButton *button2 = new QPushButton("Two");QPushButton *button3 = new QPushButton("Three");QPushButton *button4 = new QPushButton("Four");QPushButton *button5 = new QPushButton("Five");QVBoxLayout *layout = new QVBoxLayout(this);layout->addWidget(button1);layout->addWidget(button2);layout->addWidget(button3);layout->addWidget(button4);layout->addWidget(button5);}
水平布局
QWidget *window = new QWidget(this);QPushButton *button1 = new QPushButton("One");QPushButton *button2 = new QPushButton("Two");QPushButton *button3 = new QPushButton("Three");QPushButton *button4 = new QPushButton("Four");QPushButton *button5 = new QPushButton("Five");QHBoxLayout *layout = new QHBoxLayout(window);layout->addWidget(button1);layout->addWidget(button2);layout->addWidget(button3);layout->addWidget(button4);layout->addWidget(button5);window->show();![请添加图片描述](.png)
网格布局
QWidget *window = new QWidget(this);QPushButton *button1 = new QPushButton("One");QPushButton *button2 = new QPushButton("Two");QPushButton *button3 = new QPushButton("Three");QPushButton *button4 = new QPushButton("Four");QPushButton *button5 = new QPushButton("Five");QGridLayout *layout = new QGridLayout(window);layout->addWidget(button1,0,0);layout->addWidget(button2,0,1);layout->addWidget(button3,1,0);layout->addWidget(button4,1,1);layout->addWidget(button5,2,0);window->show();
表单布局
QFormLayout *formLayout = new QFormLayout;QLineEdit *nameLineEdit = new QLineEdit;QLineEdit *emailLineEdit = new QLineEdit;QSpinBox *ageSpinBox = new QSpinBox;formLayout->addRow(tr("&Name:"), nameLineEdit);formLayout->addRow(tr("&Email:"), emailLineEdit);formLayout->addRow(tr("&Age:"), ageSpinBox);setLayout(formLayout);
布局的空白设置
QSpacerItem
负责在布局中提供空白的部分。一般, 我们不直接使用这个类。Qt内置布局管理器提供了一些方法来设置空白的部分,如:addSpacing(), addStretch(), insertSpacing(), insertStretch()等等,如:
QFormLayout *formLayout = new QFormLayout;QLineEdit *nameLineEdit = new QLineEdit;QLineEdit *emailLineEdit = new QLineEdit;QSpinBox *ageSpinBox = new QSpinBox;formLayout->addRow(tr("&Name:"), nameLineEdit);formLayout->setSpacing(30);formLayout->addRow(tr("&Email:"), emailLineEdit);formLayout->addRow(tr("&Age:"), ageSpinBox);setLayout(formLayout);
最新文章
- PHP服务器端API原理及示例(接口开发)
- 设计非关系型数据库
- 俞敏洪一分钟励志演讲:
- mybatis一级缓存、二级缓存以及集成EnCache、Redis,避免脏读
- (转自林达华)深入问题本身
- winrar v3.8 的注册码
- Platform Builder
- MinGW+MSYS安装
- MSYS+MinGW64环境的搭建
- Power BI业绩杜邦分析
- Pytorch、TorchVision、Python、Jetpack版本匹配问题
- webview加载网页,tel协议不会调出拨号盘?该如何处理
- 【职场感言】为什么会感觉到前途迷茫
- TCPUDP、TCPIP区别
- C# WebForm
- C++中 itoa 和 atoi 的用法
- Java Integer值范围问题
- curl命令介绍与使用
- matlab快速入门(1):输入命令
- SQL注入