Ubuntu18.04 wxPython 4.0.4 Python 3.7
Hello world of traitsui ne fonctionnait pas, j'ai donc vérifié avec le code Hello World suivant si wxPython utilisé comme boîte à outils fonctionne en premier lieu.
# 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()
Ensuite, l'erreur suivante "Impossible d'accéder à l'affichage X, $ DISPLAY est-il correctement défini?"
Je n'ai pas pu taper "DISPLAY =: 0" dans le terminal ou définir DISPLAY dans la variable env dans launch.json.
Après tout, j'ai pu le résoudre en spécifiant la variable d'environnement dans le code comme suit.
# 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()
Ci-dessous se trouve la fenêtre affichée.
En premier lieu, dans le terminal vscode, xeyes ne pouvait pas être affiché à moins qu'il ne soit défini sur xeyes -display: 0
. De plus, dans un terminal normal, Hello World pourrait être affiché sans aucune mesure particulière, il semble donc y avoir un problème avec l'implémentation du terminal vscode.
Recommended Posts