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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО] Рисование на субокнах mdi программы  (Прочитано 3674 раз)
sandurlay
Гость
« : Март 12, 2011, 14:26 »

Здравствуйте.
Есть mdi программа. Пользователь может создать сколько угодно субокон. На каждом из них рисуется некое изображение. Я решил унаследовать класс субокна, добавить туда указатель на класс, на основе которого строится изображение и переопределить
Код:
paintEvent
. Вот, что я имею:

1) Если наследовать класс
Код:
QMdiSubWindow
, то все рисуется правильно, но из-за переопределенного
Код:
paintEvent
не рисуется рамка самой формы. При этом, ресайз и кнопки закрыть/свернуть работают (точнее те места, где эти кнопки должны быть). Просто серый прямоугольник отображается.

2) Если наследовать класс
Код:
QWidget
, то форма создается нормально. Но не могу рисовать. Как я понимаю, неправильно идет преобразование
Код:
_QWidget* asw = (_QWidget*)mdiWindow->activeSubWindow();
, то есть не может получить доступ к моему добавленному классу. Я делал и указателем и обычно. Одно и тоже.

ЧЯНД?
« Последнее редактирование: Март 12, 2011, 15:28 от sandurlay » Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #1 : Март 12, 2011, 15:02 »

QMdiSubWindow::paintEvent не пробовал выполнить в переопределенном paintEvent
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #2 : Март 12, 2011, 15:06 »

Цитировать
ЧЯНД?
Имхо, всё.
Кто мешает отнаследоваться от QWidget и рисовать в нём?
И вставить его через QMdiSubWindow::setWidget()?
Записан

Qt 5.11/4.8.7 (X11/Win)
sandurlay
Гость
« Ответ #3 : Март 12, 2011, 15:28 »

QMdiSubWindow::paintEvent не пробовал выполнить в переопределенном paintEvent

Да. спасибо.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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