Qt基础,布局管理

续上一文

  1. 在"detail.cpp"文件中添加如下代码:

```cpp

Detail::Detail(QWidget *parent) : QWidget(parent)

{

NationalLabel = new QLabel(tr("国家/地址:"));

NationalComboBox = new QComboBox;

NationalComboBox->insertItem(0, tr("中国"));

NationalComboBox->insertItem(1, tr("美国"));

NationalComboBox->insertItem(2, tr("英国"));

ProvinceLabel = new QLabel(tr("省份:"));

ProvinceComboBox = new QComboBox;

ProvinceComboBox->insertItem (0, tr("江苏省"));

ProvinceComboBox->insertItem(1, tr("山东省"));

ProvinceComboBox->insertItem(2, tr("浙江省"));

CityLabel = new QLabel(tr("城市:"));

CityLineEdit = new QLineEdit;

IntroductLabel = new QLabel(tr("个人说明:"));

IntroductTextEdit = new QTextEdit;

mainLayout = new QGridLayout(this);

mainLayout->setMargin(15);

mainLayout->setSpacing(10);

mainLayout->addWidget(NationalLabel, 0, 0);

mainLayout->addWidget(NationalComboBox, 0, 1);

mainLayout->addWidget(ProvinceLabel, 1, 0);

mainLayout->addWidget(ProvinceComboBox, 1, 1);

mainLayout->addWidget(CityLabel, 2, 0);

mainLayout->addWidget(CityLineEdit, 2, 1);

mainLayout->addWidget(IntroductLabel, 3, 0);

mainLayout->addWidget(IntroductTextEdit, 3, 1);

}

```

  1. 编写主函数在"main.cpp"文件中:

```cpp

#include "content.h"

#include <QApplication>

#include <QTextCodec>

#include <QSplitter>

#include <QListWidget>

int main(int argc, char *argv\[\])

{

QApplication a(argc, argv);

QFont font("AR PL KaitiM GB", 12);

a.setFont(font);

QSplitter *splitterMain = new QSplitter(Qt::Horizontal, 0);

splitterMain->setOpaqueResize(true);

QListWidget *list = new QListWidget(splitterMain);

list->insertItem(0, QObject::tr("基本信息"));

list->insertItem(1, QObject::tr("联系方式"));

list->insertItem(2, QObject::tr("详细资料"));

Content *content = new Content(splitterMain);

QObject::connect(list, SIGNAL(currentRowChanged(int)), content->stack, SLOT(setCurrentIndex(int)));

splitterMain->setWindowTitle(QObject::tr("修改用户资料"));

splitterMain->setMinimumSize(splitterMain->minimumSize());

splitterMain->setMaximumSize(splitterMain->maximumSize());

splitterMain->show();

return a.exec();

}

```

可选择不同的布局方案,根据具体情况使用最方便、合理的布局方式。通常,QGridLayout能完成QHBoxLayout与QVBoxLayout的功能,但对于简单的水平或竖直排列,后两者更方便,而QGridLayout适合方正整齐的界面布局。

相关推荐
第九序言T8 小时前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
龙亘川9 小时前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化
程序喵大人9 小时前
【C++入门】内存模型与资源管理 - 09 shared_ptr 和 weak_ptr 解决共享,也带来代价
开发语言·c++·资源管理·智能指针·内存模型
Raas10010 小时前
AI网关部署方案?从部署到上线全流程
java·开发语言·人工智能·gateway·ai网关·企业级ai网关·企业级ai产品
专注仿真11 小时前
线性回归和逻辑回归算法详解
开发语言·人工智能·python·大模型训练·控制算法
jimy111 小时前
C++ 中的 `T&&`:右值引用与转发引用
开发语言·c++
呆呆虫1212 小时前
用 orjson 加速 SerpBase 响应解析:基准对比与注意事项
开发语言·php
心疼你的一切12 小时前
Python自动发邮件实战定时发报表
大数据·开发语言·python
Wang's Blog13 小时前
Java 项目实战:交友项目 - 用户体系集成总结
java·开发语言·交友
中科三方14 小时前
IPv6检测常见问题:AAAA记录检测不通过是什么原因?
开发语言·php