From 577499bb5e37df92774a14bafbbe749525dd1f45 Mon Sep 17 00:00:00 2001 From: Liang Qi Date: Wed, 26 Apr 2023 12:43:53 +0200 Subject: [PATCH] WIP: debug for QTBUG-108522 Change-Id: I9909f33f6c2d1f07709af43bd2b94cadc1e85e9a --- .../widgets/tools/completer/mainwindow.cpp | 18 ++++++++++++++++++ examples/widgets/tools/completer/mainwindow.h | 3 +++ 2 files changed, 21 insertions(+) diff --git a/examples/widgets/tools/completer/mainwindow.cpp b/examples/widgets/tools/completer/mainwindow.cpp index 3b70d76ef0..edce4d03ed 100644 --- a/examples/widgets/tools/completer/mainwindow.cpp +++ b/examples/widgets/tools/completer/mainwindow.cpp @@ -70,6 +70,11 @@ MainWindow::MainWindow(QWidget *parent) contentsLabel = new QLabel; contentsLabel->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + connect(qApp, &QApplication::focusChanged, this, + &MainWindow::focusChanged); + connect(qApp, &QGuiApplication::focusObjectChanged, this, + &MainWindow::focusObjectChanged); + connect(modelCombo, &QComboBox::activated, this, &MainWindow::changeModel); connect(modeCombo, &QComboBox::activated, @@ -184,6 +189,19 @@ void MainWindow::changeMode(int index) } //! [10] +void MainWindow::focusChanged(QWidget *old, QWidget *now) +{ + qDebug() << "Debug: " << Q_FUNC_INFO << "old=" << old << "now=" << now; +} + +void MainWindow::focusObjectChanged(QObject *focusObject) +{ + qDebug() << "Debug: " << Q_FUNC_INFO << "focusObject=" << focusObject; + QWidget *focusWidget = qobject_cast(focusObject); + if (focusWidget) + qDebug() << "Debug: focusWidget=" << focusWidget << ", focusProxy=" << focusWidget->focusProxy(); +} + void MainWindow::changeCase(int cs) { completer->setCaseSensitivity(cs ? Qt::CaseSensitive : Qt::CaseInsensitive); diff --git a/examples/widgets/tools/completer/mainwindow.h b/examples/widgets/tools/completer/mainwindow.h index 5cfa490b9f..0cf7acc044 100644 --- a/examples/widgets/tools/completer/mainwindow.h +++ b/examples/widgets/tools/completer/mainwindow.h @@ -30,6 +30,9 @@ private slots: void changeMode(int); void changeModel(); void changeMaxVisible(int); + + void focusChanged(QWidget *old, QWidget *now); + void focusObjectChanged(QObject *focusObject); //! [0] //! [1] -- 2.34.1