如果你想获取当前窗口,可以使用Qt的QApplication类的activeWindow()方法。
activeWindow()方法返回当前处于活动状态(即获取到用户输入的)的窗口,该窗口可能是应用程序的主窗口或子窗口。如果没有任何窗口处于活动状态,则返回NULL。
下面是一个简单的例子,展示如何使用activeWindow()方法获取当前窗口:
#include <QApplication>
#include <QMainWindow>
int main(int argc, char *argv[])
QApplication app(argc, argv);
QMainWindow mainWindow;
mainWindow.show();
QWidget *currentWindow = qApp->activeWindow();
if (currentWindow) {
qDebug() << "当前窗口为:" << currentWindow->objectName();
} else {
qDebug() << "没有窗口处于活动状态";
return app.exec();
在上面的代码中,我们首先创建了一个QMainWindow窗口,然后调用qApp->activeWindow()方法获取当前活动的窗口,如果当前有窗口处于活动状态,输出当前窗口的对象名。如果没有任何窗口处于活动状态,则输出一个提示消息。
需要注意的是,在多窗口应用程序中,activeWindow()方法只会返回活动窗口中的一个。如果需要获取其他窗口,可以使用QWidget的window()方法来枚举所有的窗口,并判断其是否处于活动状态。