crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> нестандартный QListView, QListView
zaytsewa
  опции профиля:
сообщение 24.8.2011, 8:01
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 55
Регистрация: 20.4.2011
Пользователь №: 2620

Спасибо сказали: 1 раз(а)




Репутация:   0  


Всем привет!
Требуется реализовать QListView с кнопками вверх и и вниз вместо полосы прокрутки.
Виджет будет использоваться в QComboBox, поэтому ему необходимо быть отнаследованным от QAbstractItemView
void QComboBox::setView ( QAbstractItemView * itemView )

Мои варианты:
1)отступы в QListView а на них кнопки, в этом варианте прокрутка всё-равно почему-то начинается из-под кнопок

2)возможно следует как-то переопределить QScrollBar ( только пока не представляю как) возможно при помощи qss

3) писать виджет с нуля

Что посоветуете?

Заранее спасибо :)

Сообщение отредактировал zaytsewa - 24.8.2011, 8:24
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
ilyabvt
  опции профиля:
сообщение 24.8.2011, 14:47
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 297
Регистрация: 23.6.2011
Пользователь №: 2765

Спасибо сказали: 45 раз(а)




Репутация:   3  


Ну можно сделать свой виджет, только не обязательно с нуля.
Кнопка играющая роль QComboBox при нажатие на которую появляется QListView а рядом с ним (или на нем) QScrollBar со стилем:
QScrollBar:vertical {
width: 100000px;
/*background можно любой ставить главное не дефолтный, с дефолтным не пашет*/
background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(0, 0, 0, 255), stop:1 rgba(255, 255, 255, 255));
}

Ну и не забывать синхронизировать положение и максимальное значения скролл баров
например так:
   scroll->setMaximum(list->verticalScrollBar()->maximum());
   list->verticalScrollBar()->setValue(scroll->value());

Я сделал на примере QListWidget в принципе нормально работает, хотя само решение несколько кривоватое.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
zaytsewa
  опции профиля:
сообщение 24.8.2011, 15:54
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 55
Регистрация: 20.4.2011
Пользователь №: 2620

Спасибо сказали: 1 раз(а)




Репутация:   0  


мне нужно background картинку ( отдельно для верхней стрелочки, отдельно для нижней )
вроде бы только через paintEvent можно
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.12.2024, 14:23