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适合方正整齐的界面布局。

相关推荐
段一凡-华北理工大学1 小时前
向量数据库实战:选型、调优与落地~系列文章12:文本分块策略实战:chunk_size 怎么选?重叠多少?
开发语言·数据库·后端·oracle·rust·工业智能体·高炉智能化
Ljwuhe2 小时前
C++——多态
开发语言·c++
心平气和量大福大2 小时前
C#-WPF-Window主窗体
开发语言·c#·wpf
从零开始的代码生活_4 小时前
C++ 继承详解:访问控制、对象模型、菱形继承与设计取舍
开发语言·c++·后端·学习·算法
云小逸4 小时前
【C++ 第七阶段:模板、泛型编程与工程综合详解】
开发语言·c++
Quz4 小时前
QML 信号与槽:直接绑定与跨文件通信
qt·编程语言·设计
GIS阵地4 小时前
QgsSingleBandPseudoColorRenderer 完整详解(QGIS 3.40.13 C++)
开发语言·前端·c++·qt·qgis
yaoxin5211235 小时前
470. Java 反射 - Member 接口与 AccessFlag
java·开发语言·python
groundhappy5 小时前
idalib安装和codex ida-mcp配置
linux·开发语言·python
小钻风33666 小时前
Spring Boot 文件上传详解:深入理解 MultipartFile 的使用与原理
java·开发语言