我有QSystemTrayIcon和QAction打开QWebView类型的新窗口.当窗口失去焦点并再次选择QAction时,窗口应重新获得焦点.它在Linux上运行,但在Mac OS X上没有.问题是,当我有另一个窗口打开并处于活动状态时,让我们说Google Chrome,当我在我试图打开的窗口上调用show()时,它总是在谷歌浏览器下打开,所以我没有看到它.聚焦时也是如此,当我打开多个窗口时,我的QWebView可能是订单中的最后一个,当我点击QAction聚焦窗口时,它将始终位于谷歌浏览器窗口下.我的猜测是,当我单击QAction时,它是我的应用程序进程的一部分,它将尝试打开/聚焦窗口,但在操作过程中,由于QSystemTrayIcon无法保持焦点,因此Google Chrome窗口会被安排并获得焦点.因此,当窗口被打开/聚焦时,它不会从谷歌Chrome中窃取焦点,因为操作系统不允许它,因此它将被置于当前聚焦的窗口下.
在这里我如何创建/聚焦窗口:
// ...
QPointer<QWebView> view;
// ...
void TrayIcon::webView() {
if (!this->view) {
this->view = new QWebView();
this->view->load("http://example.com");
this->view->show();
} else {
this->view->activateWindow();
this->view->raise();
}
}
Run Code Online (Sandbox Code Playgroud)
有什么我做错了或有任何已知的解决方法?
我想使用Chart.js库在我的网站上绘制图表,但我打算为图表提供大量数据(> 1000).但是,当我将数据提供给chart.js折线图时,图表不可滚动,但值被推到一起使图表不可读.有没有办法让chart.js折线图在x轴上滚动?
我需要在我的 Dataflow 管道中使用 JNI。JNI 使用 C++ 库,该库对其他系统库有大量外部依赖。当工作人员运行使用 C++ 库的 DoFn 时,确保库位于操作系统中应位于的位置的最佳方法是什么?
我发现DataflowPipelineOptions.setWorkerHarnessContainerImage可能允许我从Google Container Registry指定自定义 docker 映像,我可以在其上安装大量库,但文档没有说明更多。在安装的包、入口点等方面对 docker 镜像有什么要求吗?