引言
项目中需要设置QCheckBox的文本与勾选框之间的距离,还有需要将勾选框设置的大一点,不是使用原始大小的勾选框。花了一点时间才知道如何实现。现在记录一下。
示例
我是通过样式表实现的文本与勾选框之间的距离,以及勾选框的大小。下面是代码。创建基于QWidget的项目。main.cpp中的代码不做改变,dialog类中设置控件QCheckBox的样式。
dialog.h
#ifndef DIALOG_H
#define DIALOG_H#include <QDialog>QT_BEGIN_NAMESPACE
namespace Ui { class Dialog; }
QT_END_NAMESPACEclass Dialog : public QDialog
{Q_OBJECTpublic:Dialog(QWidget *parent = nullptr);~Dialog();
private:void setCheckBoxStyle();//设置样式
private:Ui::Dialog *ui;
};
#endif // DIALOG_H
dialog.cpp
#include "dialog.h"
#include "ui_dialog.h"Dialog::Dialog(QWidget *parent): QDialog(parent), ui(new Ui::Dialog)
{ui->setupUi(this);setCheckBoxStyle();
}Dialog::~Dialog()
{delete ui;
}void Dialog::setCheckBoxStyle()
{ui->checkBox->setGeometry(0,0,500,80);ui->checkBox->setStyleSheet("QCheckBox{spacing: 260px;font: 30px;}"//设置文本与框之间的距离,文本的大小"QCheckBox::indicator{width:30px;height:30px;}");//设置勾选框的大小
}
以上实现的效果: