QT布局之水平垂直加Qss样式布局

本文分享了使用Qt开发华丽界面的经验,重点介绍了通过QSS样式表优化界面的具体案例,包括前后对比及部分实现代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

工作日志
对于qt的开发,自我认为,要想开发华丽的界面要对qss样式表进行熟练地掌握,
这样才能更高效,更简洁的实现qt界面的开发
今天的工作是修改了,两个主窗口:对比图如下:

修改之前:


修改之后:





部分实现代码:


CPExportOptionDialog::CPExportOptionDialog(QWidget* parent)
: CPDialog(parent),
_calcMd5Box(new QCheckBox(this)),
_keepDirectoryBox(new QCheckBox(this)),
_selectPathWidget(new CPPathSelectWidget(this))

{
setWindowTitle(tr("export options"));
setTitleIconHidden(true);
resize(400, 150);


QWidget* container = new QWidget(this);
container->setObjectName("export_option_dialog_centent");  //Qt样式表文件名
container->setStyleSheet(".QWidget#export_option_dialog_centent{background-color: white;}");


QLabel *savePathLabel = new QLabel();   //标签一
savePathLabel->setText(tr("SavePathLabel:"));  //add a option label using VBoxlayout style


QLabel *optionLabel = new QLabel();      //标签二
optionLabel->setText(tr("option:"));  //add a option label using VBoxlayout styl


QVBoxLayout* layout = new QVBoxLayout();     //添加一个垂直布局块
layout->setContentsMargins(20, 20, 20, 11);    //对布局块整体移动,主要是边框调整
_calcMd5Box->setText(tr("calc md5"));   //有两个标签在里面
_calcMd5Box->setChecked(true);


_keepDirectoryBox->setText(tr("keep directory"));
_keepDirectoryBox->setChecked(true);


//添加垂直布局
QVBoxLayout* optionBoxLayout = new QVBoxLayout();
optionBoxLayout->setContentsMargins(17, 0, 0, 0);
optionBoxLayout->addWidget(_calcMd5Box);
optionBoxLayout->addWidget(_keepDirectoryBox);


//添加垂直布局控件
layout->addWidget(optionLabel);
layout->addLayout(optionBoxLayout);
layout->addWidget(savePathLabel);


QHBoxLayout*  pathEditLayout = new QHBoxLayout();
pathEditLayout->addSpacing(17);   //可以调节每个控件的距离
pathEditLayout->addWidget(_selectPathWidget);
layout->addLayout(pathEditLayout);    
container->setLayout(layout);     //把每一块的布局添加到layout中

this->setContentWidget(container);
}














评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值