Russian Qt Forum
Ноябрь 26, 2024, 18:27 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2] 3   Вниз
  Печать  
Автор Тема: QGraphicsView + Виджеты.  (Прочитано 14416 раз)
Bepec
Гость
« Ответ #15 : Январь 16, 2014, 13:28 »

Собственно отнаследовался от GraphicsItem, минимальный функционал сделал.
Item'ы двигаются, изменяются при помощи редактора (справа снизу).

И вот тут возникают вопросы:
1) Как отобразить "редактор" прямо на item'e? Чтобы тыкнул и он перешёл в режим редактирования.

2) Как лучше сделать архитектуру связей?
Связь может быть односторонней. От одного объекта к второму.
Пока что я вижу два варианта
    - хранить список связей сценой. В данных связи будут храниться начальный и конечный пункт.
    - или же в каждом объекте хранить "его" связи.

3) Проблема - при добавлении итема "ribbonLine" впервые, сцена сбрасывается в центр начала координат. Это нервирует. Добавление остальных элементов такой оказии не вызывает.

4) может быть связана с предыдущей.
Как запретить сцене "разрастаться" стороны? Хочется чтобы центр системы координат был 0,0 и никак иначе. Верхний левый угол.

5) Есть ли уже готовая реализация, когда view сцены двигается при поднесении элемента к краю видимой области? В момент выноса за границу сцена растягивается. View же не двигается.


« Последнее редактирование: Январь 16, 2014, 13:29 от Bepec » Записан
AlexEx
Чайник
*
Offline Offline

Сообщений: 76


Просмотр профиля
« Ответ #16 : Январь 16, 2014, 15:32 »

IMHO, здесь в наличии некоторое противоречие: что при движении мыши внутри lineEdit'а надо делать - перемещать lineEdit по сцене или выделять текст внутри него? Соответственно, появляются два режима (оба вполне реализуемых), которые надо как-то переключать.
Записан
Bepec
Гость
« Ответ #17 : Январь 16, 2014, 15:33 »

Нет противоречия. При щелчке нужен переход в режим редактирования. Вот только как его реализовать, я даже не представляю. Создавать QLineEdit поверх мне кажется жутким Грустный
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #18 : Январь 17, 2014, 02:48 »

а если через QGraphicsProxyWidget?

в ассистенте как раз есть пример подобного функционала - перевод итема в режим редактора.
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Bepec
Гость
« Ответ #19 : Январь 17, 2014, 07:33 »

Где вы такие примеры видели? Прошу ссылку. В Qt Example/Demos такого не нашёл, вы явно не 40 тысяч чипов имеете в виду Улыбающийся

Записан
Hellraiser
Бывалый
*****
Offline Offline

Сообщений: 451


Просмотр профиля
« Ответ #20 : Январь 17, 2014, 07:46 »

Немного похоже на функционал примера Diagram Scene из раздела Graphics View
Записан
Bepec
Гость
« Ответ #21 : Январь 17, 2014, 08:21 »

Его я уже смотрел. Там используются стандартные итемы QGraphicsItemЧтотоТам.

Они узкой направленности - просто текст, просто фигуры. Печально.

PS на другие вопросы ответов тоже нет, как я понял. Ужасно Веселый
Записан
AlexEx
Чайник
*
Offline Offline

Сообщений: 76


Просмотр профиля
« Ответ #22 : Январь 17, 2014, 09:14 »

В свое время писал похожий редактор. Мне тогда представилось более целесообразным иметь нередактируемые, но меняющие размер и положение, итемы, чей вид и содержание задаются через property browser. При редактируемых виджетах есть проблемы (решаемые) с выпадающими частями combobox'ов и меню, а также с объединением в группы.
Записан
Bepec
Гость
« Ответ #23 : Январь 17, 2014, 09:26 »

Я вижу, что если редактировать с помощью проперти браузера - это... отвлекает от собственно работы с элементом.
Не поделитесь кодиком, если не закрыт? Может быть что-то полезного ещё почерпну.
Записан
carrygun
Гость
« Ответ #24 : Январь 17, 2014, 10:20 »

Property browser есть же в солюшене.
Записан
Bepec
Гость
« Ответ #25 : Январь 17, 2014, 10:44 »

Спасибо carrygun, но я просил у человека его исходники, в которых будет работа с GraphicsView/Scene/Item. PropertyBrowser я и сам напишу.
Меня интересует работа со сценой и представлением.

PS если хотите ответьте на любой из синих вопросов в этой теме, мне это поможет Веселый
Записан
carrygun
Гость
« Ответ #26 : Январь 17, 2014, 11:00 »

Со сценой не возился, увы. А форум почитать люблю, глядишь и когда придет время со сценой работать - пригодится чего.
Записан
AlexEx
Чайник
*
Offline Offline

Сообщений: 76


Просмотр профиля
« Ответ #27 : Январь 17, 2014, 18:46 »

Кодом поделюсь, скорее всего в понедельник.
Записан
Bepec
Гость
« Ответ #28 : Январь 17, 2014, 18:51 »

Буду ждать первого луча понедельника Веселый
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #29 : Январь 18, 2014, 00:59 »

Где вы такие примеры видели? Прошу ссылку. В Qt Example/Demos такого не нашёл, вы явно не 40 тысяч чипов имеете в виду Улыбающийся

Qt Assistant, тема QGraphicsProxyWidget.
Там далее по тексту примеры кода, в частности: Embedding a Widget with QGraphicsProxyWidget
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Страниц: 1 [2] 3   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.153 секунд. Запросов: 23.