引言
项目中需要设置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_NAMESPACE
class Dialog : public QDialog
{
Q_OBJECT
public:
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;}");//设置勾选框的大小
}
以上实现的效果: