Skip to content

[已解決][MacOS] Big Sur 11.2.1 PyQt5 的視窗無法顯示

一直以來,我都有使用 PyQt5 做一些簡單的小工具供自己日常使用,在我將日常生活用的筆電從 Linux 轉到 MacOS 後,這些小工具也一直都運作得很好。

直到我最近在忙著寫的某個項目終於結束,想著『哎呀我有差不多五個月左右沒有更新了呢~』—— 然後,就把 MacOS 更新到了最新版本:Big Sur 11.2.1

用了一天也用得挺正常的,直到我需要使用到我用 PyQt5 所寫的小工具時。我等了好半天,我的小工具一直沒有跳出來,倒是下方的 Dock 一直有顯示小工具的圖示(Icon)。

我懷疑到底是哪邊出了差錯,於是做了以下兩個步驟:

  • 重新開機(失敗,仍然無法顯示 PyQt5 視窗
  • 只使用無圖形化介面的終端機執行程式(可以,程式依舊可以跑
  • 從 Github 上 clone 另外一個有圖形化介面的專案(失敗,同樣無法顯示視窗
  • 打開 Linux 舊筆電,執行同樣的小工具(可以,舊的版本圖形化介面顯示正常

經過了以上的測試,我幾乎可以肯定,是在 MacOS Big Sur 某個版本以後,我當前的 PyQt5 版本就無法運作了(應該說,其實只是無法顯示視窗)。


解決方法

在查詢 StackOverflow 以及 Github 上相關的 Issues 後,果然如我所想,不只是我碰到這個問題 —— 我只是比較晚升級 MacOS,所以比較晚遇到。大致上我看到的不外乎兩種方法:

  • 將 PyQt5 版本降低到 1.13.2 以下。
  • 關閉 MacOS 的 dark mode(有許多網友聲稱這是造成 PyQt5 無法顯示的主因)

在我個人嘗試過後,我在將 PyQt5 降低版本之後確實成功將小工具的圖形化介面啟動了!但是就算我關閉了 MacOS 的 dark mode,我仍然無法在更高版本的 PyQt5 中開啟圖形化介面。

或許我的問題與網友們的不同也不一定。不過我就留下我的嘗試經驗,權當作分享。


References


References

Leave a Reply