crossplatform.ru

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

RazrFalcon
  опции профиля:
сообщение 30.10.2011, 1:19
Сообщение #1


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


Нужно что бы по нажатию кнопки, под ней появлялся виджет, точно такой же, как и у QComboBox.
Как это можно сделать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
2 страниц V   1 2 >  
Начать новую тему
Ответов (1 - 17)
silver47
  опции профиля:
сообщение 30.10.2011, 7:14
Сообщение #2


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

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

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




Репутация:   6  


Я всегда делаю через спрятанный QGroupBox. Мой пример в приложении. Быть может кто-нибудь подскажет более элегантное решение.
Прикрепленные файлы
Прикрепленный файл  tmp.zip ( 1.37 килобайт ) Кол-во скачиваний: 88
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 30.10.2011, 15:51
Сообщение #3


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


Ну... это совсем не то.
Вы просто скрываете виджет - это слишком просто. Ну и куча ограничений.
А мне нужно как комбобокс - отдельный виджет, которые нельзя двигать. И тд.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
maint
  опции профиля:
сообщение 30.10.2011, 16:09
Сообщение #4


Участник
**

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

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




Репутация:   2  


Цитата(RazrFalcon @ 30.10.2011, 21:51) *
Ну... это совсем не то.
Вы просто скрываете виджет - это слишком просто. Ну и куча ограничений.
А мне нужно как комбобокс - отдельный виджет, которые нельзя двигать. И тд.

ну и присобачить на нажатие QMenu
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 30.10.2011, 17:03
Сообщение #5


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


При чем тут QMenu?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
maint
  опции профиля:
сообщение 30.10.2011, 18:22
Сообщение #6


Участник
**

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

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




Репутация:   2  


Цитата(RazrFalcon @ 30.10.2011, 23:03) *
При чем тут QMenu?

при нажатии активировать popup-меню
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 30.10.2011, 19:05
Сообщение #7


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


У меня не меню - у меня виджет <_<
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
silver47
  опции профиля:
сообщение 31.10.2011, 5:10
Сообщение #8


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

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

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




Репутация:   6  


QwwWidgets может быть чего там будет полезным. В частности QwwTaskPanel?

Цитата
Ну... это совсем не то.
Вы просто скрываете виджет - это слишком просто. Ну и куча ограничений.
А мне нужно как комбобокс - отдельный виджет, которые нельзя двигать. И тд.


Ну тогда, самый популярный ответ на этом форуме - Наследуйтесь от QWidget и пишите свое.

Пы сы: Скрывать виджет нужно будет так и так... разве что делать поведение, которое Вас устраивает -
Цитата
отдельный виджет, которые нельзя двигать.


Сообщение отредактировал silver47 - 31.10.2011, 6:15
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
maint
  опции профиля:
сообщение 31.10.2011, 5:14
Сообщение #9


Участник
**

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

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




Репутация:   2  


Цитата(RazrFalcon @ 31.10.2011, 1:05) *
У меня не меню - у меня виджет <_<

и какая половая разница ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 31.10.2011, 16:57
Сообщение #10


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


У меня проблема не "как вывести", а "что вывести"!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Sokoloff
  опции профиля:
сообщение 1.11.2011, 14:35
Сообщение #11


Участник
**

Группа: Участник
Сообщений: 237
Регистрация: 1.4.2009
Из: Москва
Пользователь №: 654

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




Репутация:   11  


Цитата(RazrFalcon @ 31.10.2011, 17:57) *
У меня проблема не "как вывести", а "что вывести"!

В комбобоксе разве не QListWidget используется?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 1.11.2011, 15:02
Сообщение #12


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


Ну он то в каком то виджете находися? Нет?
Если я создам обычный QListWidget, то не получу того же эффекта, как у комбобокса.

Я так понимаю, что тут должен использоваться виджет без заголовка и кнопок управления окном. Но как такой сделать - не ясно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ssoft
  опции профиля:
сообщение 1.11.2011, 16:56
Сообщение #13


Участник
**

Группа: Участник
Сообщений: 130
Регистрация: 17.2.2010
Из: Москва
Пользователь №: 1470

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




Репутация:   3  


Цитата(RazrFalcon @ 1.11.2011, 16:02) *
виджет без заголовка и кнопок управления окном


Используй
void setWindowFlags ( Qt::WindowFlags type ).

А лучше подсмотри реализацию QComboBox в Qt.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Sokoloff
  опции профиля:
сообщение 1.11.2011, 17:16
Сообщение #14


Участник
**

Группа: Участник
Сообщений: 237
Регистрация: 1.4.2009
Из: Москва
Пользователь №: 654

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




Репутация:   11  


Цитата(RazrFalcon @ 1.11.2011, 16:02) *
Ну он то в каком то виджете находися? Нет?
Если я создам обычный QListWidget, то не получу того же эффекта, как у комбобокса.

Я так понимаю, что тут должен использоваться виджет без заголовка и кнопок управления окном. Но как такой сделать - не ясно.

Да это задается флагами. Правда не все их комбинации очевидны.
Можешь посмотреть здесь, я создаю диалог, но для QListWidget-а должно быть аналогично.

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 1.11.2011, 17:59
Сообщение #15


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


Флаги уже пробовал. Нужного эффекта пока не добился...
Sokoloff, ваш способ дает просто квадрат без тени, что совсем не соответствует тому, что я получаю в комбобоксе. <_<

PS: вы пишете razor-qt?!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Sokoloff
  опции профиля:
сообщение 1.11.2011, 18:05
Сообщение #16


Участник
**

Группа: Участник
Сообщений: 237
Регистрация: 1.4.2009
Из: Москва
Пользователь №: 654

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




Репутация:   11  


Цитата(RazrFalcon @ 1.11.2011, 18:59) *
Флаги уже пробовал. Нужного эффекта пока не добился...
Sokoloff, ваш способ дает просто квадрат без тени, что совсем не соответствует тому, что я получаю в комбобоксе. <_<

Тогда качай исходники Qt и смотри как они там создают. Потом расскажи.

Цитата(RazrFalcon @ 1.11.2011, 18:59) *
PS: вы пишете razor-qt?!

Да.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 1.11.2011, 18:14
Сообщение #17


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


Цитата(Sokoloff @ 1.11.2011, 17:05) *
Тогда качай исходники Qt и смотри как они там создают. Потом расскажи.

Ок.

Цитата(Sokoloff @ 1.11.2011, 17:05) *
Да.

Круто! :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 7.11.2011, 20:54
Сообщение #18


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


Готово.
Предопределяем QComboBox
Создаем в нем QStandardItemModel (мне с ней проще, можно и AbstractItemModel). Заполняем ее.
Затем в конструкторе же:
QComboBox::setModel(model);
На выходе получаем следующее:

Ну а "причесать" уже можно как угодно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 24.6.2025, 1:06