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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Не срабатывание переопределённого PaintEvent при "восстановлении" окна  (Прочитано 5011 раз)
Pupil
Гость
« : Апрель 18, 2012, 10:49 »

Здравствуйте!

В примере есть:
1. Главное окно.
2. QDialog, вызываемый по слоту из главного окна
3. в QDialoge присутствует widget, на котором переопределённый PaintEvent выводит изображение.
4. При сворачивании примера - нажатии на заголовок редактора кода - пример уходит заподлицо (сворачивается). При восстановлении видимости окон примера (нажатие на свёрнутое окно внизу рабочего стола) - пример восстанавливается, отображается диалог, а widget диалога - пуст, хотя должен содержать картинку. Картинка появляется на виджете - если провести курсор мыши в области виджета диалога.
Как виджету диалога можно "принудительно" объяснить, что в случае восстановления видимости диалога, виджет должен отобразить картинку, а не ждать принудительных действий?
 
Записан
_OLEGator_
Гость
« Ответ #1 : Апрель 18, 2012, 13:55 »

Показывай как рисуешь.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #2 : Апрель 18, 2012, 14:02 »

Как виджету диалога можно "принудительно" объяснить, что в случае восстановления видимости диалога, виджет должен отобразить картинку, а не ждать принудительных действий?
Для начала попробовать repaint
Записан
Bepec
Гость
« Ответ #3 : Апрель 18, 2012, 14:05 »

Для начала посмотреть его код. Repaint то вызывается автоматом при появлении окна. Значит проблема в коде...
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


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

Для начала посмотреть его код. Repaint то вызывается автоматом при появлении окна. Значит проблема в коде...
Несокрушимая логика Улыбающийся Но все-таки автоматом repaint не вызывается
Записан
Pupil
Гость
« Ответ #5 : Апрель 18, 2012, 14:30 »

Код заголовок конструктора "иерархия":

Код:
PaintWin::PaintWin(QWidget *parent) :
    QDialog(parent)
    m_ui(new Ui::PaintWin)

Код переопределения QPaintEvent (PaintWin.h):

Код:
protected:
     void paintEvent(QPaintEvent *e);

Код тела paintEvent (PaintWin.cpp)
Код:
void PaintWin::paintEvent(QPaintEvent *e)
{
qDebug() << "Рисуем";
}

Уважаемые коллеги, поясню суть вопроса: Не важно! "Как он рисует", а важно то, что после восстановления на экране из свёрнутого состояния примера- появляется главное окно примера, спереди окно PaintWin, то при этом в тело события paintEvent просто не заходит. Вот в чём вопрос.
Записан
Bepec
Гость
« Ответ #6 : Апрель 18, 2012, 14:42 »

Создал проект, наследовался и от виджета, и от мейна, и от диалога => при разворачивании и иных действиях слот вызывается автоматомсс...

Выложи проект в архиве. Если до 17.00 по MSK, то я успею посмотреть.
Записан
Pupil
Гость
« Ответ #7 : Апрель 18, 2012, 14:55 »

Вопрос решил. Благодарю всех! Вызывает респект и уважение: "Выложи пример. Если до 17.00, то я посмотрю". Спасибо!
Записан
Bepec
Гость
« Ответ #8 : Апрель 18, 2012, 15:13 »

Измени название темы на %название темы%[РЕШЕНО].
Записан
iroln
Гость
« Ответ #9 : Апрель 19, 2012, 14:46 »

А в чём проблема то была в итоге? Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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