1

Pythonは最初にバイトコンパイルされ、おそらくTkウィンドウが開くため、これは99%不可能ですが、アプリを保存した後、tkアプリを更新するボタンを追加する状況があるかどうか疑問に思っています実際に書かれている?

パディングやいくつかのマイナー アトリビュートを更新した後、新しいインスタンスを閉じて開始するのではなく、ボタンを押してフレームを更新するのがとてもクールだと想像できます。

なにか...

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()
4

2 に答える 2

1

これは質問に正確に答えるものではありませんが、指定された目標への道を提供します

最初easy_install q

それから

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()

その時点でシェルが開き、次のようなことができます

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

その後、アプリは更新されたパラメータで再開します。

メインループをブロックせず、おそらくいくつかの追加機能を含む可能性のあるインタラクティブシェルを開くpycrustのような他のオプションがあります...しかしq.d()、私の経験では、単に投げるのが最も簡単なものです

于 2013-11-06T23:47:58.767 に答える