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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QComboBox и qss  (Прочитано 4541 раз)
Figaro
Гость
« : Апрель 24, 2013, 05:39 »

Здр всем.

Столкнулся с проблемой, когда устанавливаю стиль - все визуальные компоненты отрисовываются нормально, кроме выпадающей части QComboBox (размеры Items кривые). QComboBox::AdjustToContents естественно выставляю, в форумах видел похожий вопрос, но Грустный Кто и что может посоветовать?

P. S. Qt 4.8.3 (Виндоза)
Записан
lighting
Гость
« Ответ #1 : Апрель 24, 2013, 10:35 »

Выложи свой qss. Я правил вид Комбобокса через qss и никаких проблем не было.
Записан
Figaro
Гость
« Ответ #2 : Апрель 25, 2013, 05:14 »

Типа такого (в первой строчке %font% заменяется на реальный шрифт):

Код
CSS
* {
 %font%
 background-image: url(:/images/default.png);
 color: white;
}
 
QPushButton {
   color: white;
   background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 rgb(50, 50, 50), stop:1 rgb(128, 128, 128));
}
 
QPushButton:hover {
   background: darkgray;
}
 
QPushButton:pressed, QPushButton:on {
   background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 rgb(50, 50, 50), stop:1 black);
}
 
QListView::item:hover,
QTreeView::item:hover,
QMenu::item:selected,
QScrollBar,
QProgressBar {
   background-color: rgb(128, 128, 128, 75%);
}
 
QTreeView,
QListView,
QTableWidget,
QLineEdit,
QTextBrowser,
QPlainTextEdit,
QSpinBox,
QDoubleSpinBox,
QComboBox,
QMenu {
   selection-color: black;
   selection-background-color: lightgrey;
   background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 black, stop: 1 rgb(128, 128, 128));
   border: 1px solid gray;
   padding: 2px;
   border-radius: 3px;
}
 
QSplitter::handle:horizontal {
   background: qlineargradient(x1:0, y1:0, x2:1, y2:0, stop:0 rgb(100, 100, 100), stop:1 rgb(20, 20, 20));
   border: 1px solid rgb(50, 50, 50);
   width: 2px;
   height: 2px;
   border-radius: 1px;
}
 
QSplitter::handle:vertical {
   background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgb(100, 100, 100), stop:1 rgb(20, 20, 20));
}
Записан
lighting
Гость
« Ответ #3 : Апрель 25, 2013, 10:26 »

уверен что проблемы именно в stylesheet? я попробовал твой qss применить, все вроде нормально рисуется.
Записан
Figaro
Гость
« Ответ #4 : Апрель 26, 2013, 07:53 »

Дело в том что фонт меняется на лету.... на большинстве если isSmoothable (на память не помню) все нормально, но иногда при переходе, например, с размера 72 на 6... появляются промежутки между айтемами... логику  не понял
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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