[英]How to install perl modules on macos when cc can't handle stdlib.h
[英]Can't show() QWindow when it was hidden with cmd + h on MacOS
我有一個問題,當它被 MacOS 快捷方式隱藏時,我無法提升我的應用程序窗口。 它在所有其他情況下都能正常工作。
在我的應用程序中,我有 1 個主 qWindow,稱為QWindow* mMainWindow;
並將以下代碼添加到托盤按鈕
mMenu->addAction(createAction("Show", [=] {
if (mMainWindow) {
mMainWindow->show();
mMainWindow->raise();
mMainWindow->requestActivate();
}
當我只使用 qt mMainWindow->hide()
然后將其抬起時, mMainWindow
工作正常。 當應用程序處於活動狀態時,方法mMainWindow->isActive()
返回正確的true
狀態,當它隱藏時返回false
。
但是當我使用內置在 mac "cmd + h" 中隱藏應用程序時,無論應用程序應用程序是否隱藏, mMainWindow->isActive()
返回true
。 調用我的操作項沒有任何作用, mMainWindow
一直處於隱藏狀態。
是否有解決此問題的解決方案? 我見過有人推薦使用QWidget
而不是QWindow
並調用QWindow
widget->activateWindow()
但這不是我可以使用的解決方案。
我發現如果您在調用show()
之前調用hide()
show()
, show()
將正常運行。
此問題的解決方法如下
mMenu->addAction(createAction("Show", [=] {
if (mMainWindow) {
mMainWindow->hide();
mMainWindow->show();
mMainWindow->raise();
mMainWindow->requestActivate();
}
}));
當應用程序已經處於焦點時,可能會出現問題,並且您單擊“ Show
,然后隱藏並再次顯示,但在我的情況下這是可以接受的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.