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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QSpinBox up/down-arrow. [Решено]  (Прочитано 6951 раз)
Blitz156
Гость
« : Февраль 22, 2013, 20:06 »

1. Как правильно задавать стиль для стрелочек? Проблема возникает при нажатии на кнопку, у стрелки появляется прямоугольный фон. (Вариант с использованием картинки не подходит).
2. Как задать цвет текста? (в выделенном состоянии он виден, а без выделения - нет).
3. Как задать цвет фона выше бордера(по краям видны красные уголки, это потому, что цвет делегата красный).
Код:
QSpinBox {padding-left: 17px; color: white; \
border: 2px groove #CD5728; border-radius: 5px; \
text-color: black; } \
\
QSpinBox::up-button {subcontrol-origin: margin; subcontrol-position: top left; \
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #FDFDFC, stop: 1 #F7F7F6); \
border-top-left-radius: 5px; border-width: 1px; width: 14px; \
border-left: 1px solid #BEBEBE; border-top: 1px solid #BEBEBE; border-right: 1px solid #BEBEBE; border-bottom: 0px;} \
\
QSpinBox::down-button {subcontrol-origin: margin; subcontrol-position: bottom left; \
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #F7F7F6, stop: 1 #E4E2E0); \
border-bottom-left-radius: 5px; border: 1px solid red; width: 14px; \
border-left: 1px solid #BEBEBE; border-bottom: 1px solid #BEBEBE; border-right: 1px solid #BEBEBE; border-top: 0px;} \
\
QSpinBox::up-arrow { background-color: transparent; border-left: 2px solid none; \
border-right: 2px solid none; border-bottom: 2px solid #808080; width: 0px; height: 0px; } \
\
QSpinBox::down-arrow { background-color: transparent; border-left: 3px solid none; \
border-right: 3px solid none; border-top: 3px solid #808080; width: 0px; height: 0px; } \
\
QSpinBox::up-button:pressed { background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #D1CECC, stop: 1 #EEEDEC); } \
\
QSpinBox::down-button:pressed { background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,  stop: 0 #D2D0CC, stop: 1 #E9E7E6); } \

P.S. Вопрос 2 отпал, убрал QSpinBox { ..... color: white; \ ...

Увеличил нижнюю кнопку, дабы хорошо была видна проблема.
« Последнее редактирование: Февраль 23, 2013, 10:38 от Blitz156 » Записан
Blitz156
Гость
« Ответ #1 : Февраль 23, 2013, 10:37 »

Оказывается, up/down-arrow, так же как и button имеет состояние hover & pressed, так что проблема 1 решена переопределением этих состояний.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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