1 / 1 / 0
Регистрация: 12.12.2015
Сообщений: 39
|
|||||||||||||||||||||
1 | |||||||||||||||||||||
Перерисовка графика при изменении размера виджета04.04.2016, 19:44. Показов 2674. Ответов 4
Делаю программу, которая должна визуализировать алгоритмы сортировок. Для вывода создал виджет SortGraphic, унаследованный от QGraphicsView. Сначала не использовал PaintEvent, рисовал график через scene в своём методе drawArray(). Но появилась проблема: когда изменяю размер окна, размер виджета также меняется, а размер графика - нет. Пытался засовывать рисование в resizeEvent, затем в paintEvent, в результате получал много предупреждений о рекурсивной перерисовке, иногда форма или отдельные её элементы вообще не загружались... Прочитал где-то про painter, но с ним вообще разобраться не могу, получаю много предупреждений:
0
|
04.04.2016, 19:44 | |
Ответы с готовыми решениями:
4
Перерисовка окна при изменении размера Qml изменение размера Canvas при изменении размера окна Перерисовка объектов, при изменении размера окна Не работает перерисовка pictureBox при изменении размера |
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,672
|
|
05.04.2016, 18:36 | 2 |
А для чего тебе QGraphicsView? Если рисуешь с помощью QPainter, то наследуй от QWidget, рисование - в paintEvent(), который при изменении размеров вызывается автоматически. И память освобождай, если всё на указателях делаешь.
0
|
0 / 0 / 0
Регистрация: 30.01.2016
Сообщений: 7
|
|
05.04.2016, 21:01 | 3 |
Используй в ResizeEvent функции QGraphicsView::scale и QGraphicsView::setSceneRect . Еще можно изменять размер сцены с помощью QGraphicsView::setMatrix
0
|
Заблокирован
|
|
05.04.2016, 23:47 | 4 |
ТС, у тебя в архиве половины файлов нет из того, что должно быть
0
|
1 / 1 / 0
Регистрация: 12.12.2015
Сообщений: 39
|
|
06.04.2016, 10:42 [ТС] | 5 |
Решил проблему сам: метод отрисовки через scene поместил в resizeEvent, косяк был с тем, что resizeEvent вызывался до инициализации вектора, добавил проверку на существование вектора - и всё работает. Всё, что пытался делать с QPainter, удалил.
0
|
06.04.2016, 10:42 | |
06.04.2016, 10:42 | |
Помогаю со студенческими работами здесь
5
Перерисовка внутри окна при изменении размера Отображение графика при изменении размера формы в OpenGL Графика в Pascal: сохранение траектории при изменении размера экрана Перерисовка при изменении размеров формы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |