Erreur d'affichage dans wxPython (et traitsui) sur vscode

environnement

Ubuntu18.04 wxPython 4.0.4 Python 3.7

Contexte

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?" Screenshot from 2020-07-18 14-15-33.png

Je n'ai pas pu taper "DISPLAY =: 0" dans le terminal ou définir DISPLAY dans la variable env dans launch.json.

Solution

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. Screenshot from 2020-07-18 14-21-15.png

Considération

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

Erreur d'affichage dans wxPython (et traitsui) sur vscode
Construction de l'environnement VScode (sur Mac) et affichage des graphiques en Python (@ browser)
Comment supprimer l'erreur d'affichage dans matplotlib
Erreur survenue dans OpenCV3 et sa solution Précautions lors de l'utilisation d'OpenCV3 sur Mac
Afficher des images et lire des vidéos dans le terminal Neovim
Afficher un message d'erreur lorsque la connexion échoue dans Django
Pour écrire dans Error Repoting en Python sur GAE
Afficher et analyser uniquement certaines colonnes dans CASTable
Mettez Scipy + Matplotlib dans Ubuntu sur Vagrant et affichez le graphique avec X11 Forwarding
Erreur dans random.shuffle
Erreur dans Pyinstaller
Erreur dans TensorBoard
À propos de l'erreur d'importation de numpy et scipy dans anaconda
Lisez le fichier csv et affichez-le dans le navigateur
Remarque: CGI (pendant les essais et erreurs) dans l'environnement Vagrant
Mesurez la température et l'humidité intérieures et extérieures et affichez-les sur le tableau de bord
Développé en installant Git, VSCode, Docker sur Chrome OS
Exécuter une commande sur le serveur Web et afficher le résultat