From 2d2fc799bc698ebf7e7c8bcc394366d0d7bf071b Mon Sep 17 00:00:00 2001 From: Sine Striker <trueful@163.com> Date: 周二, 20 2月 2024 18:18:39 +0800 Subject: [PATCH] Partially finish the bug after window close and reshow --- examples/mainwindow/mainwindow.cpp | 15 +++++++++++++++ 1 files changed, 15 insertions(+), 0 deletions(-) diff --git a/examples/mainwindow/mainwindow.cpp b/examples/mainwindow/mainwindow.cpp index 313c771..8d6372a 100644 --- a/examples/mainwindow/mainwindow.cpp +++ b/examples/mainwindow/mainwindow.cpp @@ -1,3 +1,7 @@ +// Copyright (C) 2023-2024 Stdware Collections (https://www.github.com/stdware) +// Copyright (C) 2021-2023 wangwenx190 (Yuhang Zhao) +// SPDX-License-Identifier: Apache-2.0 + #include "mainwindow.h" #include <QtCore/QDebug> @@ -5,6 +9,7 @@ #include <QtCore/QTime> #include <QtCore/QTimer> #include <QtGui/QPainter> +#include <QtGui/QWindow> #include <QtWidgets/QApplication> #include <QtWidgets/QStyle> #include <QtWidgets/QPushButton> @@ -46,6 +51,8 @@ setWindowTitle(tr("Example MainWindow")); resize(800, 600); + + windowAgent->centralize(); } static inline void emulateLeaveEvent(QWidget *widget) { @@ -108,6 +115,14 @@ return QMainWindow::event(event); } + +void MainWindow::closeEvent(QCloseEvent *event) { + if (!(qApp->keyboardModifiers() & Qt::ControlModifier)) { + QTimer::singleShot(1000, this, &QWidget::show); + } + event->accept(); +} + void MainWindow::installWindowAgent() { // 1. Setup window agent windowAgent = new QWK::WidgetWindowAgent(this); -- Gitblit v1.9.1