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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QWidget нарисовать в двух местах  (Прочитано 3732 раз)
deMax
Хакер
*****
Offline Offline

Сообщений: 600



Просмотр профиля
« : Апрель 18, 2014, 11:53 »

Есть виджет содержащий кнопки/чекбоксы/таблицы или opengl сцену, нужно вывести его на двух мониторах с разным разрешением(одинаковое содержимое), в обоих местах виджет должен быть активным а не картинкой. Как лучше поступить? Создать два экземпляра и синхронизировать их по необходимости или один экземпляр с двумя методами рисования?
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Апрель 18, 2014, 11:57 »

Самый простой способ всё держать на одной сцене, которую подцепить к нескольким вью.
Виджеты на сцене размещай через QGraphicsProxyWidget.
« Последнее редактирование: Апрель 18, 2014, 12:01 от GreatSnake » Записан

Qt 5.11/4.8.7 (X11/Win)
deMax
Хакер
*****
Offline Offline

Сообщений: 600



Просмотр профиля
« Ответ #2 : Апрель 18, 2014, 12:58 »

GreatSnake, а сцена поддерживает разные размеры для каждого QGraphicsView? Т.е. мне нужно чтобы автокомпоновщик сам подогнал элементы сцены под определенный размер.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #3 : Апрель 18, 2014, 13:05 »

GreatSnake, а сцена поддерживает разные размеры для каждого QGraphicsView? Т.е. мне нужно чтобы автокомпоновщик сам подогнал элементы сцены под определенный размер.
Сцена одна и размер у неё один.
А вот вью может делать масштабирование.
Через QGraphicsView::fitInView() можно вместить всё содержимое сцены во вью.
Записан

Qt 5.11/4.8.7 (X11/Win)
deMax
Хакер
*****
Offline Offline

Сообщений: 600



Просмотр профиля
« Ответ #4 : Апрель 18, 2014, 13:44 »

Сцена одна и размер у неё один.
А вот вью может делать масштабирование.
Через QGraphicsView::fitInView() можно вместить всё содержимое сцены во вью.
Хорошая вещь, может пригодиться для создания окон просмотра. Однако при масштабировании четкие прямые линии вместе с текстом немного поплывут(таблица например). Что как бы неприемлемо.

Т.е. автокомпоновщик сам компонует под соответствующий размер. Может есть готовое решение которое синхронизирует состояние компонентов двух-трех форм между собой?
« Последнее редактирование: Апрель 18, 2014, 14:01 от deMax » Записан
deMax
Хакер
*****
Offline Offline

Сообщений: 600



Просмотр профиля
« Ответ #5 : Апрель 21, 2014, 11:30 »

Хочу создать копии объектов, а потом синхронизировать. Вопрос: виджеты с заполнением находятся в QStakedWidget(не хочу под каждую вкладку создавать отдельный ui файл), как создать отдельный виджет из ui->stakedwidget->widget[0] ?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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