Изменить стиль QCheckBox в Qt Jambi

В настоящее время я использую 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?


person Tiffany    schedule 30.06.2011    source источник


Ответы (2)


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

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

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

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

person Smar    schedule 13.07.2011

Чтобы изменить размер флажка, вы можете использовать

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

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

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

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

person Tiffany    schedule 02.08.2011