Изменить стиль QCheckBox в Qt Jambi - PullRequest
1 голос
/ 30 июня 2011

В настоящее время я использую Eclipse 3.5.2 и Qt Jambi 4.7.2 в Ubuntu 11.04 Natty Narwhal

Я пытаюсь использовать таблицы стилей для настройки своего QCheckBox. Я нашел примеры для C ++, но я не могу найти эквиваленты для Java. Я хочу сделать что-то похожее на следующее, используя таблицы стилей.

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

QCheckBox::indicator:unchecked {
    image: url(:/images/checkbox_unchecked.png);
}

QCheckBox::indicator:unchecked:hover {
    image: url(:/images/checkbox_unchecked_hover.png);
}

QCheckBox::indicator:unchecked:pressed {
    image: url(:/images/checkbox_unchecked_pressed.png);
}

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

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

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

Если бы кто-нибудь мог мне помочь, это было бы очень ценно. Заранее спасибо!

Кроме того, кто-нибудь знает, как сделать QCheckBox больше?

Ответы [ 2 ]

1 голос
/ 13 июля 2011

Судя по этой странице , вы можете настроить использование таблиц стилей с помощью QApplication :: setStyleSheet () и QWidget :: setStyleSheet (). Ни одна из них не является статической функцией, поэтому что-то вроде

MyWidget widget = new MyWidget();
widget.setStyleSheet("path/to/stylesheet");

Обратите внимание, что я сам не пробовал эти таблицы стилей, так как мне, как разработчику Jambi, было бы интересно, действительно ли эти таблицы стилей работают и могут ли они быть исправлены.

РЕДАКТИРОВАТЬ: И для того, чтобы сделать флажки больше, возможно, самый простой способ заключить их в макеты и позволить макетам заполнить весь размер виджета -> с одним элементом в макете, виджет в макете будет таким же большим, как виджет, где макет прилагается к.

0 голосов
/ 02 августа 2011

Для изменения размера флажка вы можете использовать

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

в вашей таблице стилей. Это делает галочку очень пиксельной, поэтому я затем приступил к использованию

QCheckkBox::indicator:checked {
   border-image: url(classpath:Icons/checkmark.png);
}

вместе с первым делом. Это прекрасно работает, и галочкой может быть любое изображение, которое вы хотите использовать!

...