Frage

Ich bin zu 99%. Dies ist nicht möglich, da Python zum ersten Mal zusammengestellt wird, und dann wahrscheinlich die TK -Fenster öffnet, aber ich frage Eigentlich geschrieben?

Sie können sich vorstellen, nach der Aktualisierung der Polsterung oder eines kleinen Attributs so cool zu sein, nur die Taste zu drücken, um den Rahmen zu aktualisieren, anstatt zu schließen und eine neue Instanz zu starten.

etwas...

class myapp()
 def __init___(self,root):
   self.root = root
   main_menu = ttk.Frame(self.root)
   ttk.Button(main_menu,text="Refresh",command=lambda root=self.root:refresh_me(root)))
 def refresh_me(self,root):
     #refresh the window I'm in somehow...
root = Tkinter.Tk()
myapp = myapp(root)
root.mainloop()
War es hilfreich?

Lösung

Wow, ich habe es herausgefunden. Ich habe zwei Netze gemacht. Einer zum Import und der andere zum Auffrischen.

Bitte schön:

#name of file is python_script.py

class myapp()
 def __init___(self,root):
   self.root = root
   main_menu = ttk.Frame(self.root)
   ttk.Button(main_menu,text="REFRESH",command=lambda self=self:self._update())

 def _update(self):
   import python_script
   python_script.main_refresh(self.root,python_script)

def main_refresh(root,python_script):
   reload(python_script)
   root.destroy()
   python_script.main()

def main():
   root = Tkinter.Tk()
   myapp = myapp(root)
   root.mainloop()

if __name__ == '__main__':
   main() 

Andere Tipps

Dies beantwortet die Frage nicht genau, bietet jedoch einen Weg zu Ihrem angegebenen Ziel

Erste easy_install q

dann

class myapp()
 def __init___(self,root):
   self.root = root
   main_menu = ttk.Frame(self.root)
   ttk.Button(main_menu,text="Refresh",command=lambda root=self.root:refresh_me(root)))
 def shell_me(self,root):
     #refresh the window I'm in somehow...
     import q
     q.d()

An diesem Punkt öffnet sich eine Schale und Sie können so etwas wie

>>> myapp.padding = "10px" #or whatever you are trying to modify
>>> exit()

Ihre App wird dann mit den aktualisierten Params fortgesetzt.

Es gibt andere Optionen wie Pycrust, die eine interaktive Hülle öffnen, die möglicherweise nicht die Hauptschleife blockieren und wahrscheinlich einige zusätzliche Funktionen enthalten ... aber q.d() ist meiner Erfahrung

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top