Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Qt
Войти
Регистрация
Восстановить пароль
 
Воротислав
124 / 102 / 27
Регистрация: 25.02.2010
Сообщений: 451
#1

Виджет на виджете - C++ Qt

08.08.2016, 12:15. Просмотров 301. Ответов 6
Метки нет (Все метки)

Доброго времени суток.
Никак не могу мысль реализовать.
Есть виджет, на котором есть QGraphicsView. Хочу сделать возможность отображения неких небольших окошек внутри QGraphicsView, а-ля миникарта в играх. Без каких либо заголовков, перемещений (только строго, например правый нижний угол QGraphicsView). Включение\отключение через меню настроек.
Сделал пока следующее. Создал простенький виджет. Унаследовался от QGraphicsView, в наследнике создаю объект своего виджета, делаю невидимым. Переопределил метод resizeEvent, в котором двигаю виджет к углу.
Но он все равно отдельное окно, если я тыкаю на QGraphicsView, окно уходит на второй план.
Подскажите, в какую сторону копать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.08.2016, 12:15
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Виджет на виджете (C++ Qt):

Виджет на виджете
Есть некоторый QGLWidget и есть QWidget с несколькими QLabel. Мне...

Не отображается виджет в виджете
Доброго времени суток. Такая проблема: Есть основной виджет - окно, наследуется...

Рисование на виджете
Сразу прошу прощение, если где-то с терминалогией напутал... Разбираюсь с...

Рисовать на виджете
Добрый день. Нужно создать клиент-серверное приложение. В Клиенте выбирают...

Перенос строки в виджете
Привет. Есть виджет QCheckBox который отображает строку, длина которой...

Рисовать с OpenGL в виджете
Мне нужно чтобы в моей форме был виджет-окошко, в котором я рисовал бы с...

6
nmcf
6246 / 5558 / 2528
Регистрация: 14.04.2014
Сообщений: 23,369
08.08.2016, 12:48 #2
А почему не QGraphicsItem?
1
Воротислав
124 / 102 / 27
Регистрация: 25.02.2010
Сообщений: 451
08.08.2016, 13:05  [ТС] #3
nmcf, если честно даже как то не подумал в его сторону. Не знаю, а его можно сделать несколько сложнее, чем во всяких примерах рунета круг, квадрат, и ромб? Скажем в него поместить несколько виджетов, или опять же в качестве карты использовать?
0
nmcf
6246 / 5558 / 2528
Регистрация: 14.04.2014
Сообщений: 23,369
08.08.2016, 13:10 #4
А карта не квадрат, что ли?
0
Воротислав
124 / 102 / 27
Регистрация: 25.02.2010
Сообщений: 451
08.08.2016, 13:18  [ТС] #5
Скорее прямоугольник. По идее карта вмещает в себя всю сцену, и должна будет показывать какую область в данный момент показывает главное представление. Но помимо карты мне еще один подобный виджет нужен будет.

Добавлено через 3 минуты
Может быть имеет смысл представление + 2 виджета запихать в MDI область? но все равно пока не понятно, как бороться с переключением видимости. надо чтоб в обоих щелкаю по объектам на представлении, я получал информацию о нем в виджеты. ну как на картах, например дубль гис. Щелкнув по дому, я бы хотел возможность смотреть все органзации. ТОлько там сделано всплывающими окнами, я бы хотел у себя сделать статичное окошко
0
Slip.
92 / 92 / 33
Регистрация: 17.03.2012
Сообщений: 536
Завершенные тесты: 1
08.08.2016, 13:30 #6
Если я правильно понял, то вам надо одну модель отображать в разных представлениях.
В документации это описано.
0
Воротислав
124 / 102 / 27
Регистрация: 25.02.2010
Сообщений: 451
09.08.2016, 07:35  [ТС] #7
Slip., Не правильно.
Как отображать модель на 2 представления я знаю. А вот как мне два моих виджета привязать к представлению, чтоб они были как бы поверх сцены, и легко делались невидимыми, я пока не понял.
Но кажись я нашел куда двигаться. Возможно QGraphicsWidget + QGraphicsProxyWidget помогут мне.

Добавлено через 17 часов 56 минут
В общем все не то. Если делать QGraphicsWidget то это будет привязка к сцене, и тогда надо будет отлавливать перемещение QGraphicsView, и двигать виджет.
Сделал проще, создал интересующий меня виджет. В классе Graphics, где расположен QGraphicsView, создал объект, но не помещал в layout. В методе resizeEvent класса Graphics через метод move размещаю виджет мой.
Тему можно закрывать.
0
09.08.2016, 07:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.08.2016, 07:35
Привет! Вот еще темы с решениями:

Отрисовка линии на виджете
Добрый день, помогите пожалуйста. Я написал класс - линию. Рисую на виджете....

Нарисовать фигуру на виджете
Задача - нарисовать фигуру поверх виджета QTableWidget (а лучше за его сеткой)....

Не отображается таблица в виджете
Здравствуйте. Я только начал разбираться в qt 4.8 и у меня возникла проблема....

Не получается вывести кирилицу в виджете
Ubuntu 12.04, Qt 4.8.6, Code Blocks. Никак не получается вывести кирилицу в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru