如何在Ubuntu Qt中获得活动窗口标题?

时间:2018-03-12 10:59:49

标签: c++ qt ubuntu

我使用下面的win API代码来捕获Windows桌面中的活动工作窗口标题。在Qt中有没有替代Ubuntu平台的实现?

DispatchQueue.main.asyncAfter(deadline: .now() + 0.0) {
    print("test", self.presentingViewController)
}

2 个答案:

答案 0 :(得分:1)

如果您想获得Qt应用程序活动窗口标题,可以使用

QApplication::activeWindow()->windowTitle();

如果没有,您可以使用QProcess运行Ubuntu命令。这是xdotool或(如果你不想安装任何东西)这个命令:

xprop -id $(xprop -root _NET_ACTIVE_WINDOW | cut -d ' ' -f 5) WM_NAME | awk -F '"' '{print $2}' 

答案 1 :(得分:0)

我使用下面的代码。我们需要在ubuntu中安装xdotool

QProcess process(this);
process.setProgram(“xdotool”);
process.setArguments(QStringList() << “getwindowfocus” << “getwindowname”);
process.start();
while(process.state() != QProcess::NotRunning)
qApp->processEvents();
QString title = process.readAll();
相关问题