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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QDockWidget QSplitter полоска растягивания [решено]  (Прочитано 8778 раз)
daimon
Гость
« : Июнь 07, 2011, 23:17 »

Как сделать, чтобы как-то выделялась полоска сплитера - там утопление или наоборот выступ сделать, покрасить чёрным?
« Последнее редактирование: Июнь 09, 2011, 01:37 от daimon » Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #1 : Июнь 08, 2011, 10:44 »

Вообще-то сплиттер юзает нативные средства рисования и то, что не видно хэндла - это нормально. Вообще, делай свой хэндл (в ассистанте написано как) и рисуй его сам.
В свое время выдирал из креатора минисплиттер в мак-стиле - черный хэндл шириной 1 пиксель (см. вложение)
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #2 : Июнь 08, 2011, 13:05 »

Как сделать, чтобы как-то выделялась полоска сплитера - там утопление или наоборот выступ сделать, покрасить чёрным?
Через CSS.
Записан

Qt 5.11/4.8.7 (X11/Win)
daimon
Гость
« Ответ #3 : Июнь 08, 2011, 16:44 »

Как сделать, чтобы как-то выделялась полоска сплитера - там утопление или наоборот выступ сделать, покрасить чёрным?
Через CSS.
в дизайнере побалуюсь
Записан
daimon
Гость
« Ответ #4 : Июнь 08, 2011, 19:28 »

 QDockWidget {
     border: 1px solid red;
  }

не помагает и все теги с border не работают
Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #5 : Июнь 08, 2011, 20:17 »

Код:
 QDockWidget > QSplitterHandle {
     border: 1px solid red;
  }
Или QDockWidget > QSplitter > QSplitterHandle
В общем надо расковырять QDockWidget и посмотреть иерархию до того, что вы хотите раскрасить.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #6 : Июнь 08, 2011, 20:29 »

QDockWidget {
     border: 1px solid red;
  }

не помагает и все теги с border не работают
Я ссылку (http://doc.qt.nokia.com/latest/stylesheet-examples.html#customizing-qmainwindow) для кого показывал  Непонимающий
Настраивать нужно QMainWindow, а не QDockWidget, что в принципе и логично, т.к. сплиттер размещён между доками, т.е. управляется самим QMainWindow.
Записан

Qt 5.11/4.8.7 (X11/Win)
daimon
Гость
« Ответ #7 : Июнь 08, 2011, 22:42 »

Код
C++ (Qt)
QMainWindow::separator::vertical {
    background :qlineargradient(spread:pad, x1:0.993909, y1:0.455, x2:0, y2:0.511, stop:0 rgba(172, 172, 172, 255), stop:1 rgba(255, 255, 255, 255));
    width: 5px; /* when vertical */
    height: 5px; /* when horizontal */
 
    border-radius: 2px;
 
}
 
QMainWindow::separator:hover::vertical {
    background:qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(102, 102, 102, 255), stop:1 rgba(255, 255, 255, 255));
}
 
QMainWindow::separator::horizontal {
    background :qlineargradient(spread:pad, x1:0.494, y1:1, x2:0.483, y2:0.0166818, stop:0 rgba(172, 172, 172, 255), stop:1 rgba(255, 255, 255, 255));
    width: 5px; /* when vertical */
    height: 5px; /* when horizontal */
 
    border-radius: 2px;
 
}
 
QMainWindow::separator:hover::horizontal{
    background:qlineargradient(spread:pad, x1:0.5, y1:0.017, x2:0.5, y2:1, stop:0 rgba(102, 102, 102, 255), stop:1 rgba(255, 255, 255, 255));
}

самые оптимальные настройки
« Последнее редактирование: Июнь 08, 2011, 23:37 от daimon » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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