オプションで PyQt4 を使用するプログラムを実行するときに、グラフィカル インターフェイスが使用できるかどうかをテストしたいと思います。私が行った場合
$ DISPLAY= python
>>> import PyQt4.QtGui
>>> PyQt4.QtGui.QApplication()
: cannot connect to X server
Python がクラッシュします ( $?
= 1
)。
環境変数をチェックするだけでは不十分DISPLAY
です (値が無効である、XAuth が失敗するなど)。
PyQt4で機能不全の表示を検出する適切な方法は何ですか?
私の現在のアプローチはちょっとしたハックです ( python-xlibは維持されていないように見えるので、使用を避けたいと思います):
import XLib.display:
XLib.display._BaseDisplay()
# display was opened fine, PyQt4 won't crash
except:
# don't use PyQt4 since display had some error