Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: DenisProgrammer от Май 27, 2009, 10:40



Название: QComboBox down-arrow
Отправлено: DenisProgrammer от Май 27, 2009, 10:40
Всем привет!

Подскажите можноли скрыть элемент QComboBox::down-arrow(триугольник по умолчанию).



Название: Re: QComboBox down-arrow
Отправлено: mugabe от Май 27, 2009, 10:54
А зачем?

Подозреваю что то, что вам нужно это QLineEdit + QCompleter.


Название: Re: QComboBox down-arrow
Отправлено: DenisProgrammer от Май 27, 2009, 11:17
Хочется такой эффект получить
в неактивном состоянии combobox
(http://s56.radikal.ru/i153/0905/32/471817fb1630t.jpg) (http://radikal.ru/F/s56.radikal.ru/i153/0905/32/471817fb1630.jpg.html)
в активном состоянии combobox
(http://s57.radikal.ru/i156/0905/d5/edd20700947bt.jpg) (http://radikal.ru/F/s57.radikal.ru/i156/0905/d5/edd20700947b.jpg.html)

В combobox предполагается хранить изображения


Название: Re: QComboBox down-arrow
Отправлено: spirit от Май 27, 2009, 14:00
не совсем ясно что нужно?
если хранить в комбобоксе и текст и иконку, то смотри void QComboBox::addItem ( const QIcon & icon, const QString & text, const QVariant & userData = QVariant() ).


Название: Re: QComboBox down-arrow
Отправлено: DenisProgrammer от Май 27, 2009, 14:55
Подскажите можноли скрыть элемент QComboBox::down-arrow(триугольник по умолчанию).
+
Хочется такой эффект получить
=
Хочу чтобы в состоянии покоя рисовалось только содержимое текущего итема без down-arrow



Название: Re: QComboBox down-arrow
Отправлено: spirit от Май 27, 2009, 14:56
дык, делегат свой напиши. и в "состоянии покоя" не будет эдитор в таблице торчать,
что есть правильно с точки зрения производительности.


Название: Re: QComboBox down-arrow
Отправлено: DenisProgrammer от Май 27, 2009, 15:07
>делегат свой напиши. и в "состоянии покоя"
я не гуру qt можете немного подробнее


Название: Re: QComboBox down-arrow
Отправлено: DenisProgrammer от Май 27, 2009, 15:08
я думал paintEvent переписать


Название: Re: QComboBox down-arrow
Отправлено: DenisProgrammer от Май 27, 2009, 15:31
аааааааааааааа ну так бы сразу и сказали используй делегаты ;) спасибо spirit


Название: Re: QComboBox down-arrow
Отправлено: DenisProgrammer от Июнь 04, 2009, 15:42
Продолжение !
Ярешил сделать этот виджет по примеру qt  trackeditor использующий делегаты.
Допустим я его переделал так что используются не только QTimeEdit но и другие виджеты в зависимости от того какой тип значения редактируется.
Подскажите как его переделать так, чтобы в зависимости от того какое значение редактировалось например цвет машины или цвет стены вызывалась определенная функция, тоесть я не смог найти к чему бы привязаться так как при редактировании цвет машины и цвет стены будет вызываться один и тот же виджет, который создаетя в QItemDelegate::createEditor. Можно конечно хранить data::userRole для каждой ячейки таблицы для которой используется делегат и по  itemChanged вызывать свою функцию, которая будет принимать QTableWidgetItem и брать от туда data::userRole, но этот вариант мне кажется немного кривым.

Может вообще не использовать tableWidget а что нибудь другое?