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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Фиксированный slider у QSrollBar  (Прочитано 3245 раз)
eugeniy.bogdan
Гость
« : Май 07, 2009, 12:25 »

Всем привет!

Есть такая задача - сделать фиксированный размер у слайдера в ScrollBar. В качестве стиля использую qss файл. В qss прописывал стиль

QScrollBar::handle:vertical {
    max-height: 20px;     
    height: 20px;     
}

но рузультат оказался нулевой. Затем попробовал реализовать свой свой стиль где переопределил метод subControlRect. Но видать одновременное использовать qss и стиль неполучится. Выход вижу в написании своего ScrollBar'a, в котором, как я понимаю, нужно переопределить метод paintEvent, но как заставить прорисовать именно именно slider?
Записан
IGHOR
Крякер
****
Offline Offline

Сообщений: 390



Просмотр профиля WWW
« Ответ #1 : Май 13, 2009, 22:09 »

Я когдато писал код, в катором был фиксирован слйдер
поищите в коде, может есть что нужно, он работает, кинул бы только то что нужно,
но времени нет, пишу дипломную

Код:
setStyleSheet(" QScrollBar:horizontal {"
"         border-radius: 10px;"
"         border: 2px solid black;"
"         background: white;"
"         height: 60px;"
"         margin: 10px 63px 10px 63px;"
"     }"

"     QScrollBar::handle:horizontal {"
" border: 1px solid black;"
" border-radius: 8px;"
"            background: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0,"
" stop: 0 #0000FF , stop: 0.15 #5050FF , stop: 0.5 #9090FF , stop: 0.85 #5050FF, stop: 1 #0000FF);"
"         min-width: 60px;"
"     }"

"     QScrollBar::handle:horizontal:pressed{"
" border: 1px solid black;"
" border-radius: 8px;"
"            background: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0,"
" stop: 0 #9090FF , stop: 0.15 #5050FF , stop: 0.5 #0000FF , stop: 0.85 #5050FF, stop: 1 #9090FF);"
"         min-width: 60px;"
"     }"

"     QScrollBar::add-line:horizontal {"
"         image: url("+localDir+"/Data/Pictures/Buttons/BigRight.png);"
"         width: 60px;"
"         subcontrol-position: right;"
"         subcontrol-origin: margin;"
"         border: 0px solid black;"
"     }"

"     QScrollBar::add-line:horizontal:pressed {"
"         image: url("+localDir+"/Data/Pictures/Buttons/BigRightPressed.png);"
"         width: 60px;"
"         subcontrol-position: right;"
"         subcontrol-origin: margin;"
"         border: 0px solid black;"
"     }"

"     QScrollBar::sub-line:horizontal {"
"         image: url("+localDir+"/Data/Pictures/Buttons/BigLeft.png);"
"         width: 60px;"
"         subcontrol-position: left;"
"         subcontrol-origin: margin;"
"         border: 0px solid black;"
"     }"

"     QScrollBar::sub-line:horizontal:pressed {"
"         image: url("+localDir+"/Data/Pictures/Buttons/BigLeftPressed.png);"
"         width: 60px;"
"         subcontrol-position: left;"
"         subcontrol-origin: margin;"
"         border: 0px solid black;"
"     }"


" QScrollBar:vertical {"
"         border-radius: 10px;"
"         border: 2px solid black;"
"         background: white;"
"         width: 60px;"
"         margin: 63px 10px 63px 10px ;"
"     }"

"     QScrollBar::handle:vertical {"
" border: 1px solid black;"
" border-radius: 8px;"
"            background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,"
" stop: 0 #0000FF , stop: 0.15 #5050FF , stop: 0.5 #9090FF , stop: 0.85 #5050FF, stop: 1 #0000FF);"
"         min-height: 60px;"
"     }"

"     QScrollBar::handle:vertical:pressed {"
" border: 1px solid black;"
" border-radius: 8px;"
"            background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,"
" stop: 0 #9090FF , stop: 0.15 #5050FF , stop: 0.5 #0000FF , stop: 0.85 #5050FF, stop: 1 #9090FF);"
"         min-height: 60px;"
"     }"

"     QScrollBar::add-line:vertical {"
"         image: url("+localDir+"/Data/Pictures/Buttons/BigDown.png);"
"         height: 60px;"
"         subcontrol-position: bottom;"
"         subcontrol-origin: margin;"
"         border: 0px solid black;"
"     }"

"     QScrollBar::add-line:vertical:pressed {"
"         image: url("+localDir+"/Data/Pictures/Buttons/BigDownPressed.png);"
"         height: 60px;"
"         subcontrol-position: bottom;"
"         subcontrol-origin: margin;"
"         border: 0px solid black;"
"     }"

"     QScrollBar::sub-line:vertical {"
"         image: url("+localDir+"/Data/Pictures/Buttons/BigUp.png);"
"         height: 60px;"
"         subcontrol-position: top;"
"         subcontrol-origin: margin;"
"         border: 0px solid black;"
"     }"

"     QScrollBar::sub-line:vertical:pressed {"
"         image: url("+localDir+"/Data/Pictures/Buttons/BigUpPressed.png);"
"         height: 60px;"
"         subcontrol-position: top;"
"         subcontrol-origin: margin;"
"         border: 0px solid black;"
"     }"

"     QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical ,"
"QScrollBar::add-page:horisontal, QScrollBar::sub-page:horisontal{"
"        background: transparent; background-color:transparent;"

"     }");
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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