Увеличить размер флажки, а не текст в QT?

StackOverflow https://stackoverflow.com/questions/6302428

  •  25-10-2019
  •  | 
  •  

Вопрос

Как увеличить размер флажки, а не его текст в QT?

Спасибо.

enter image description here

Это было полезно?

Решение

Жером дал вам хороший совет. Я просто приведу дополнительные примеры.

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);

Надеюсь, это поможет.

Другие советы

Я бы порекомендовал использовать QT Style Sheet.

Вы можете изменить размер индикатора:

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

Вам придется изменить изображение индикатора и предоставить изображение с соответствующим размером:

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

Я использовал это:

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);}");

И только что нашел звуковые приличные изображения флажок по умолчанию.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top