Dans cette application GUI, simpleapp est la fenêtre principale. Dans le cadre de l'initialisation de simpleapp, j'essaie de définir le répertoire personnel de l'application, en utilisant la classe setHomeDir pour ouvrir une fenêtre afin de pouvoir confirmer/définir le répertoire de travail actuel. Pour commencer, je ne parviens pas à afficher le répertoire de travail actuel dans la fenêtre setHomeDir, c'est-à-dire que je ne suis pas en mesure d'obtenir self.entryVariable.set(home)
pour fonctionner.Impossible d'afficher la valeur dans le widget Entrée dans Tkinter GUI
Où est-ce que je me trompe ici?
import Tkinter, os
class simpleapp(Tkinter.Tk):
def __init__(self,parent):
Tkinter.Tk.__init__(self,parent)
self.geometry('500x300+200+50')
self.home_dir=os.getcwd()
self.t=setHomeDir(parent=self, home=self.home_dir)
class setHomeDir(Tkinter.Tk):
def __init__(self,parent, home):
Tkinter.Tk.__init__(self)
self.parent = parent
self.geometry('500x100+200+50')
self.title('Set Home Directory')
self.grid()
#Input Box
self.entryVariable = Tkinter.StringVar()
self.entry = Tkinter.Entry(self, textvariable=self.entryVariable)
self.entryVariable.set(home)
self.entry.grid(column=0,row=0,sticky='EW')
self.grid_columnconfigure(0,weight=1)
self.resizable(True,False)
if __name__ == "__main__":
app = simpleapp(None)
app.title('Main Window')
app.mainloop()
Pourquoi ne pouvez-vous pas le faire fonctionner? Est-ce qu'il lance une erreur? Quelle erreur? Êtes-vous certain que le problème est lorsque vous appelez 'self.entryVariable.set (home)'? Il semble que vous ne puissiez jamais atteindre cette ligne de code parce que vous appelez 'setHomeDir' avec une variable qui n'existe pas. –
Il n'y a pas d'erreur, juste une zone de texte vide où une valeur est attendue. Je crois que cette ligne de code est atteinte. Par exemple, si je regarde dans app.t, alors la valeur est présente. c'est-à-dire que app.t.entryVariable.get() affiche le répertoire courant stocké sous forme de texte – akrishnamo