Russian Qt Forum
Ноябрь 25, 2024, 06:49
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Вопросы новичков
>
Qwidget in Qcombobox
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Qwidget in Qcombobox (Прочитано 6963 раз)
virtual_root
Гость
Qwidget in Qcombobox
«
:
Август 29, 2012, 13:05 »
Всем привет! Ребята, подскажите, может кто уже делал подобное. Мне нужно в qcombobox встроить Qwidget. Чтобы он(Qwidget) был в качетсве выпадающего списка. Но как это сделать, что-то не пойму
Искала в google, но подобного не нашла. Раньше приходилось встраивать QTreeView, но это легко получилось.
Подскажите, у кого есть идеи, пожалуйста)
Записан
GreatSnake
Джедай : наставник для всех
Offline
Сообщений: 2921
Re: Qwidget in Qcombobox
«
Ответ #1 :
Август 29, 2012, 17:05 »
Интересно, а зачем нужен сей изврат?
Записан
Qt 5.11/4.8.7 (X11/Win)
Dr.Vlad
Гость
Re: Qwidget in Qcombobox
«
Ответ #2 :
Август 31, 2012, 06:02 »
Строишь класс наследника от
QComboBox
и экспериментируешь в своё удовольствие.
Но в QComboBox есть очень много
private:
методов, которые могут не позволить сделать такое.
Записан
xokc
Птица говорун
Offline
Сообщений: 976
Re: Qwidget in Qcombobox
«
Ответ #3 :
Август 31, 2012, 08:15 »
Без особенных проблем с помощью void QComboBox::setView(QAbstractItemView *itemView) можно вставить лишь наследника QAbstractItemView. Если же нужно другое поведение я бы делал собственный виджет из комбинации QLineEdit + QToolButton.
Записан
virtual_root
Гость
Re: Qwidget in Qcombobox
«
Ответ #4 :
Август 31, 2012, 09:40 »
спасибо всем! xokc, мне понравилась ваша идея. QToolButton позволяет в себе разместить любое количество картинок и мне это удобно. Остаётся только вопрос как связать QLineEdit с QToolButton?
И если создавать свой компонент мне бы больше подошел не QLineEdit а QLabel(или QPushButton) чтобы можно было отображать выбранную картинку. Но как связать их между собой, чтобы по щелчку на QLabel показывался его QToolButton ?
Ведь если я просто рядом расположу и буду скрывать QToolButton, то будут проблемы с внедрением моего компонента в меню формы того же QToolButton.
Смотрела свойства компонентов QLabel и QToolButton но что-то ничего связывающего между ними не нашла...
Записан
xokc
Птица говорун
Offline
Сообщений: 976
Re: Qwidget in Qcombobox
«
Ответ #5 :
Август 31, 2012, 09:55 »
Как-то сумбурно всё - не совсем понимаю, какого поведения всё-таки добиться хотите.
Цитата: tiny developer от Август 31, 2012, 09:40
Но как связать их между собой, чтобы по щелчку на QLabel показывался его QToolButton ?
Ведь если я просто рядом расположу и буду скрывать QToolButton, то будут проблемы с внедрением моего компонента в меню формы того же QToolButton.
Если я правильно всё понял, то нужно взять QWidget или QFrame в качестве контейнера, разместить в нём требуемые QLabel и QToolButton с использованием QHBoxLayout и уже этот контейнер внедрять туда, куда нужно.
«
Последнее редактирование: Август 31, 2012, 10:12 от xokc
»
Записан
virtual_root
Гость
Re: Qwidget in Qcombobox
«
Ответ #6 :
Август 31, 2012, 10:12 »
ага попробую. Мне просто нужен combobox в котором можно разместить картинки и выбирать их, а при выборе какой-либо я её подгружаю. Но и хочу чтобы можно было мой combobox разместить на панели меню) Если я создам свой контейнер, мне в любом случае придется получается скрывать на время QtoolButton, а когда пользователь нажмет на QLabel он должен выпадать QToolButton как в QCombobox. И я боюсь когда захочу свой контейнер засунуть как иконка меню в другой QtoolButton, то не получится чтоб выпадал мой находящийся внутри QtoolButton....
«
Последнее редактирование: Август 31, 2012, 10:16 от tiny developer
»
Записан
xokc
Птица говорун
Offline
Сообщений: 976
Re: Qwidget in Qcombobox
«
Ответ #7 :
Август 31, 2012, 10:46 »
Цитата: tiny developer от Август 31, 2012, 10:12
ага попробую.
Стало только хуже
.
Цитата: tiny developer от Август 31, 2012, 10:12
Но и хочу чтобы можно было мой combobox разместить на панели меню)
Может тогда ограничиться popupmenu?
Цитата: tiny developer от Август 31, 2012, 10:12
И я боюсь когда захочу свой контейнер засунуть как иконка меню в другой QtoolButton, то не получится чтоб выпадал мой находящийся внутри QtoolButton....
Вот тут мой мозг окончательно взорвался. Может есть пример другого приложения, где этот функционал уже реализован?
Записан
virtual_root
Гость
Re: Qwidget in Qcombobox
«
Ответ #8 :
Август 31, 2012, 10:50 »
например в word есть выпадающая цветная палитра. Мне нужно что-то вроде такого combobox) Там под палитрой в word размещается еще и действия и мне так надо...
Записан
virtual_root
Гость
Re: Qwidget in Qcombobox
«
Ответ #9 :
Август 31, 2012, 10:51 »
в qt палитра выпадает сразу как форма, где можно и цвет выбрать, а палитры быстрого доступа я не нашла.. можно было бы тогда(если конечно возможно) посмотреть как они такое реализовали
Записан
GreatSnake
Джедай : наставник для всех
Offline
Сообщений: 2921
Re: Qwidget in Qcombobox
«
Ответ #10 :
Август 31, 2012, 10:52 »
Мде, как всё запущено...
В который раз подтверждается элементарная лень ТС и отсутствие малейшего желания исследовать ассистент.
Откройте описание QToolButton и почитайте
конец абзаца
.
В общем, решение
здесь
.
PS. извиняюсь за столь резкий ответ, но в следующий раз лучше сразу опишите, что хотите получить, а не пытайтесь найти решение нестандартными способами.
«
Последнее редактирование: Август 31, 2012, 11:32 от GreatSnake
»
Записан
Qt 5.11/4.8.7 (X11/Win)
virtual_root
Гость
Re: Qwidget in Qcombobox
«
Ответ #11 :
Сентябрь 01, 2012, 11:26 »
спасибо, попробую. Подскажите, пожалуйста кто знает, как получить глобальные координаты виджета. Например: на одной форме QMainWindow располагаю другую (встраиваю). Мне нужно узнать координаты встроенной формы по x и y относительно рабочего стола. Когда использую QDesktopWidget::screenGeometry он мне возвращает всё время 0. А через this->x() получаю координаты относительно формы.
«
Последнее редактирование: Сентябрь 01, 2012, 11:33 от tiny developer
»
Записан
virtual_root
Гость
Re: Qwidget in Qcombobox
«
Ответ #12 :
Сентябрь 01, 2012, 12:28 »
уже нашла, всем спасибо!
mapToGlobal(QPoint(this->x(),this->y()));
Записан
Странник
Гость
Re: Qwidget in Qcombobox
«
Ответ #13 :
Сентябрь 01, 2012, 13:54 »
Цитата: tiny developer от Сентябрь 01, 2012, 12:28
уже нашла, всем спасибо!
mapToGlobal(QPoint(this->x(),this->y()));
Код:
mapToGlobal(this->pos());
Записан
virtual_root
Гость
Re: Qwidget in Qcombobox
«
Ответ #14 :
Сентябрь 03, 2012, 10:25 »
спасибо) Я всё-таки сделала свой combobox как и хотела! Без QMenu.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...