Russian Qt Forum
Сентябрь 30, 2024, 18:35 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как изменить вид QCheckBox  (Прочитано 12729 раз)
Hordi
Гость
« : Август 28, 2009, 12:11 »

Нужно минимальными усилиями изменить вид QCheckBox, т.е. для PartiallyChecked сделать не серый фон с галочкой, а закрашенный квадрат внутри. Чувствую, что через стили, но никогда стили не ковырял...
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #1 : Август 28, 2009, 16:02 »

минимально - это через стили...
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
max1983
Гость
« Ответ #2 : Август 29, 2009, 19:49 »

Да мож просто какой стильпонравится Улыбающийся

В майне размести
Код:
    QStyle * pstyle = 0;
    pstyle = QStyleFactory::create("Cleanlooks");
    QApplication::setStyle(pstyle);

ну и меняй "Cleanlooks" на разные названия стилей.
Записан
SABROG
Гость
« Ответ #3 : Сентябрь 03, 2009, 16:10 »

Об этом в документации есть. Можно через стайлшиты.

Цитировать
QCheckBox::indicator:indeterminate:hover {
     image: url(:/images/checkbox_indeterminate_hover.png);
 }

 QCheckBox::indicator:indeterminate:pressed {
     image: url(:/images/checkbox_indeterminate_pressed.png);
 }
Записан
serg_hd
Хакер
*****
Offline Offline

Сообщений: 668



Просмотр профиля
« Ответ #4 : Февраль 08, 2010, 13:41 »

А можно ли сделать так, чтобы текст был не справа, а слева от галки?
Пробовал
setStyleSheet("QCheckBox {text-align: left}");
не катит
Записан

kubuntu/Win7/x64/NetBeans
shirushizo
Гость
« Ответ #5 : Февраль 08, 2010, 15:07 »

setStyleSheet("QCheckBox {text-align: left}");

Это ты текст выровнял по левому краю. Расположение напрямую, вроде, не изменешь.
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #6 : Февраль 08, 2010, 15:40 »

QWidget::setLayoutDirection(Qt::RightToLeft);
Записан

Юра.
serg_hd
Хакер
*****
Offline Offline

Сообщений: 668



Просмотр профиля
« Ответ #7 : Февраль 08, 2010, 17:19 »

QWidget::setLayoutDirection(Qt::RightToLeft);
отлично, то что надо, спасиб
Записан

kubuntu/Win7/x64/NetBeans
shirushizo
Гость
« Ответ #8 : Февраль 09, 2010, 17:06 »

Никогда бы не догадался  Улыбающийся
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #9 : Февраль 09, 2010, 18:48 »

Этот метод обычно применяют масштабно, для всего приложения. И предназначен изначально для тотальной интернационализации. Например, для стран/языков с письмом "Справа налево"
Записан

Юра.
shirushizo
Гость
« Ответ #10 : Февраль 09, 2010, 19:18 »

Возьму на вооружение, вдруг нужно будет приложению оригинальность добавить. А направление текста можно изменить, что бы символ, введенный последним, был самым слевым в строке?
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #11 : Февраль 09, 2010, 20:15 »

по идее да. Но я не разбирался с этим, за не надобностью
Записан

Юра.
MoPDoBoPoT
Гость
« Ответ #12 : Февраль 09, 2010, 20:33 »

В дизайнере проверил - нет.
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #13 : Февраль 09, 2010, 20:54 »

>>В дизайнере проверил - нет.
Я думаю это как-то с локализацией должно быть связано
Записан

Юра.
MoPDoBoPoT
Гость
« Ответ #14 : Февраль 09, 2010, 21:08 »

Скорей всего.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.101 секунд. Запросов: 23.