20

如何增加 QCheckBox 控件的复选框大小而不是文本大小?

谢谢。

在此处输入图像描述

4

3 回答 3

21

Jérôme 给了你很好的建议。我只会举更多的例子。

QCheckBox::indicator {
     width: 40px;
     height: 40px;
 }

  QCheckBox::indicator:checked
  {
    image: url(../Checkbox_checked_normal.png);
  }
  QCheckBox::indicator:unchecked
  {
    image: url(../Checkbox_unchecked_normal.png);
  }

  QCheckBox::indicator:checked:hover
  {
    image: url(../Checkbox_checked_hovered.png);
  }
  QCheckBox::indicator:unchecked:hover
  {
    image: url(../Checkbox_unchecked_hovered.png);
  }
  QCheckBox::indicator:checked:pressed
  {
    image: url(../Checkbox_checked_pressed.png);
  }
  QCheckBox::indicator:unchecked:pressed
  {
    image: url(../Checkbox_unchecked_pressed.png);
  }
  QCheckBox::indicator:checked:disabled
  {
    image: url(../Checkbox_checked_disabled.png);
  }

注意url()用法之间的区别。在我的示例中,我从磁盘加载图像,而不是我认为更合适的嵌入式资源系统。如果您以 (:/...) 开头的 url,它将从嵌入式资源系统加载。

然后加载您的样式表,如下所示

QFile file("your path");
bool bOpened = file.open(QFile::ReadOnly);
assert (bOpened == true);

QString styleSheet = QLatin1String(file.readAll());

qApp->setStyleSheet (styleSheet);

我希望这有帮助。

于 2011-06-10T06:37:22.423 回答
18

我会推荐使用Qt 样式表

您可以更改指标的大小:

QCheckBox::indicator {
     width: 40px;
     height: 40px;
}

您必须更改指标的图像,并提供具有相应大小的图像:

QCheckBox::indicator:checked {
     image: url(:/images/checkbox_checked.png);
}

您还可以使用 Qt 设计器和样式表编辑器进行更改。右键单击 QCheckbox,然后选择Change styleSheet 。

在此处输入图像描述

于 2011-06-10T06:15:27.730 回答
1

我用这个:

eyeChk = new QCheckBox("Eyes:");

_eyeChk->setStyleSheet("QCheckBox::indicator { width:150px; height: 150px;} QCheckBox::indicator::checked {image: url(/home/jvdglind/Downloads/280px-PNG_transparency_demonstration_2.png);}");

并且刚刚找到了不错的默认复选框图像。

于 2018-02-26T13:48:18.173 回答