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 | 14 +++++++++++++- 1 files changed, 13 insertions(+), 1 deletions(-) diff --git a/examples/mainwindow/mainwindow.cpp b/examples/mainwindow/mainwindow.cpp index 7c50fa8..8d6372a 100644 --- a/examples/mainwindow/mainwindow.cpp +++ b/examples/mainwindow/mainwindow.cpp @@ -1,4 +1,5 @@ -// Copyright (C) 2023-2024 Stdware Collections +// 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" @@ -8,6 +9,7 @@ #include <QtCore/QTime> #include <QtCore/QTimer> #include <QtGui/QPainter> +#include <QtGui/QWindow> #include <QtWidgets/QApplication> #include <QtWidgets/QStyle> #include <QtWidgets/QPushButton> @@ -49,6 +51,8 @@ setWindowTitle(tr("Example MainWindow")); resize(800, 600); + + windowAgent->centralize(); } static inline void emulateLeaveEvent(QWidget *widget) { @@ -111,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