qt获取多窗口中活动窗口

2023-12-28 15:36:36

给活动窗口发送按键事件,直接上测试代码

 	QWidget *activeWindow;
    QList<QWidget*> topLevelWidgets = qApp->topLevelWidgets();
    foreach (QWidget *widget, topLevelWidgets)
     {
     	// 这是活动窗口
        if (widget->isActiveWindow()) 
        {
            activeWindow=widget;
        }
    }

   if (activeWindow)
   {
       // 输出当前活动窗口的标题
       qDebug() << "Active Window Title: " << activeWindow->windowTitle();
       // 创建一个按键事件
       QKeyEvent keyEvent(QEvent::KeyPress, Qt::Key_A, Qt::NoModifier);

       // 发送按键事件到拥有焦点的窗口
       QGuiApplication::sendEvent(activeWindow, &keyEvent);
   } 
   else 
   {
       qDebug() << "No active window.";
   }

文章来源:https://blog.csdn.net/qq_43509546/article/details/135269645
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。