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, 21:18
Сообщение #2


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

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

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




Репутация:   3  


Цитата
width: 300px;

Зачем так много? Вот он у вас и растянулся на весь виджет. Тут есть такой момент что один и тот же qss примененный в одинокому виджету и к виджету в составе другого может вести себя по разному. В QScrollBar::up-arrow и QScrollBar::down-arrow лучше тоже прописать ширину.
вот пример склейки вашего кода и примера из документации (может поможет):
Раскрывающийся текст
QScrollBar:vertical {
      background: rgb(170, 170, 127);
     width: 20px;
      margin: 22px 0 22px 0;
    background-repeat: no-repeat;
}
QScrollBar::add-line:vertical {
     background: white;
      height: 25px;
width: 20px;
      subcontrol-origin: margin;
}
QScrollBar::sub-line:vertical {
      background: white;
      height: 25px;
width: 20px;
      subcontrol-origin: margin;
}
QScrollBar::down-arrow:vertical {
       background-image: url(:/Иконки/Images/мозг2.png);
background-repeat: no-repeat;
width: 20px;
}
QScrollBar::up-arrow:vertical {
    background-image: url(:/Иконки/Images/apple2.ico);
background-repeat: no-repeat;
width: 20px;
}

Прикрепленное изображение
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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




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