Ubuntu18.04 wxPython 4.0.4 Python 3.7
Hello World of Traitsui hat nicht funktioniert, daher habe ich mit dem folgenden Hello World-Code überprüft, ob wxPython, das als Toolkit verwendet wird, überhaupt funktioniert.
# First things, first. Import the wxPython package.
import os
import wx
# Next, create an application object.
app = wx.App()
print(app.IsDisplayAvailable())
# Then a frame.
frm = wx.Frame(None, title="Hello World")
# Show it.
frm.Show()
# Start the event loop.
app.MainLoop()
Dann wird der folgende Fehler "Kann nicht auf die X-Anzeige zugreifen, ist $ DISPLAY richtig eingestellt?"
Ich konnte nicht "DISPLAY =: 0" in das Terminal eingeben oder DISPLAY in der env-Variablen in launch.json setzen.
Immerhin konnte ich es lösen, indem ich die Umgebungsvariable im Code wie folgt angab.
# First things, first. Import the wxPython package.
import os
import wx
os.environ["DISPLAY"] = ":0"
# Next, create an application object.
app = wx.App()
print(app.IsDisplayAvailable())
# Then a frame.
frm = wx.Frame(None, title="Hello World")
# Show it.
frm.Show()
# Start the event loop.
app.MainLoop()
Unten ist das angezeigte Fenster.
Erstens konnten xeyes im vscode-Terminal nur angezeigt werden, wenn es auf "xeyes -display: 0" gesetzt war. Darüber hinaus könnte Hello World in einem normalen Terminal ohne besondere Maßnahmen angezeigt werden, sodass ein Problem mit der Implementierung des vscode-Terminals zu bestehen scheint.
Recommended Posts