你可以使用Qt的QApplication::topLevelWindows()函数获取当前应用程序中所有顶级窗口的列表,然后遍历该列表并查找具有特定标题的窗口。一旦找到了这个窗口,你可以调用它的raise()函数使其显示在最前面。
以下是一个示例代码:
#include <QApplication>
#include <QWindow>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// Show multiple windows
QWidget window1;
window1.setWindowTitle("Window 1");
window1.show();
QWidget window2;
window2.setWindowTitle("Window 2");
window2.show();
// Find and bring a specific window to front
const QString windowTitle = "Window 1";
for (QWindow *window : qApp->topLevelWindows()) {
if (window->title() == windowTitle) {
window->raise();
break;
}
}
return app.exec();
}
在上述代码中,我们首先创建了两个带有不同标题的QWidget窗口,并将它们都显示出来。然后,我们通过迭代qApp->topLevelWindows()中的所有窗口来查找标题与“Window 1”匹配的窗口。如果找到了这个窗口,我们就调用它的raise()函数使其显示在最前面。最后,我们启动应用程序事件循环并返回app.exec()。