Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: BuRn от Ноябрь 30, 2011, 17:00



Название: combobox
Отправлено: BuRn от Ноябрь 30, 2011, 17:00
Вот как сделать, что бы ширина выпадающего списка была побольше, требуется тыкать пальцами, получается ширина примерно 0.5мм нуно побольше


Название: Re: combobox
Отправлено: GreatSnake от Ноябрь 30, 2011, 17:11
У тебя что, русский не родной ???
Мало того, что в одном предложении сделал кучу ошибок, так ещё и проблему толком описать не можешь.
Подробнее и по-русски опиши что делаешь, что получаешь и что в итоге хочешь получить.


Название: Re: combobox
Отправлено: BuRn от Ноябрь 30, 2011, 17:13
нажали на комбобокс, выпал список , так вот, строки слишком узкие , сделать пошире т.е. щас
привет
пока
нужно что-то типа
привет

пока



Название: Re: combobox
Отправлено: GreatSnake от Ноябрь 30, 2011, 17:16
мде..., ну точно не русский...
Не, ну сам перечитай свой пост пару раз и поставь себя на наше место.


Название: Re: combobox
Отправлено: twp от Ноябрь 30, 2011, 17:26
та вроде все понятно что он хочет. Установи свой делегат в котором переопредели sizeHint()


Название: Re: combobox
Отправлено: BuRn от Ноябрь 30, 2011, 17:29
та вроде все понятно что он хочет. Установи свой делегат в котором переопредели sizeHint()
а нет возможности просто установки этой ширины ?


Название: Re: combobox
Отправлено: GreatSnake от Ноябрь 30, 2011, 17:32
так вот, строки слишком узкие , сделать пошире
"узкие" по горизонтали или по вертикали?


Название: Re: combobox
Отправлено: BRE от Ноябрь 30, 2011, 17:33
На выбор:
setMinimumSize
setMinimumHeight
setFixedSize
setFixedHeight
или тоже через stylesheet



Название: Re: combobox
Отправлено: BuRn от Ноябрь 30, 2011, 17:51
узкие по высоте
по вертикали


Название: Re: combobox
Отправлено: GreatSnake от Ноябрь 30, 2011, 17:55
узкие по высоте
Мде... слов нет. Вон BRE тебя тоже не понял.

Через CSS:
Код
CSS
QComboBox QAbstractItemView::item { margin: 20px; }

Вот теперь смотри.
Если бы ты в первом посте задал нормальный вопрос, то наверняка сразу бы и получил ответ, а не в 9-ом.
Выводы делай сам.

PS: к сожалению это не прокатит, т.к. в QComboBox списке используется QComboBoxDelegate, который является производным от QItemDelegate, который не поддерживает CSS, за что троллям не мешало бы дать по одному месту. Получается, что единственный способ - это как посоветовал twp установить своего делегата для QComboBox::view().


Название: Re: combobox
Отправлено: twp от Ноябрь 30, 2011, 18:20
можно еще попробовать просто увеличить размер шрифта, через тот же css
Код
CSS
QComboBox {
font-size: 16px;
}
 


Название: Re: combobox
Отправлено: BuRn от Ноябрь 30, 2011, 18:31
не не , шрифт нужен тот же


Название: Re: combobox
Отправлено: GreatSnake от Ноябрь 30, 2011, 19:00
См. PS в #9.


Название: Re: combobox
Отправлено: GreatSnake от Декабрь 01, 2011, 10:44
Вот, имхо, самый простой workaround:
Код
C++ (Qt)
#include <QAbstractItemView>
#include <QStyledItemDelegate>
 
{
...
QComboBox* cb = new QComboBox();
QAbstractItemView* v = cb->view();
v->setItemDelegate( new QStyledItemDelegate( this ) );
v->setStyleSheet( "::item { margin: 24px }" );
...
}
Всё никак не могу понять, почему тролли до сих пор используют не поддерживающий стили QItemDelegate в QComboBox и QCalendarWidget и вообще не удалили его из исходников  ???


Название: Re: combobox
Отправлено: LisandreL от Декабрь 01, 2011, 11:35
Всё никак не могу понять, почему тролли до сих пор используют не поддерживающий стили QItemDelegate в QComboBox и QCalendarWidget
Ну, можно им идейку подкинуть, в 4.8 уже вряд ли возьмут, а в пятёрку - вполне.