まず、オブジェクト指向の構造全体が非常に新しいです。しかし、基本的には、私はTkinterを使っていたので、このバグを理解できないようです。Python Tkinterオブジェクト指向コーディングの問題
基本的には、サイドバーやメインボードなど、さまざまな部品でGUIを作ろうとしています。そこでサイドバーとメインボードを2つのクラスに分けたいと思っていました。しかし何らかの理由で、それはちょうど働いていません。あなたがボタンを押したときに、それはきれいなテキストをワイプしてから、新しい何かを出力するようしたがって、基本的
class SideBar(tk.Frame):
def __init__(self, *args, **kwargs):
tk.Frame.__init__(self, *args, **kwargs)
sidebarframe = tk.Frame(root)
sometext = tk.Text(sidebarframe,...)
button= tk.Button(sidebarframe, ... , command = self.do_something)
sidebarframe.grid(row = 0, column = 0)
sometext.grid(row = 0, column = 1)
button.grid(row = 0, column = 2)
def do_something(self):
self.sometext.delete(1.0, END)
...
class MainApplication(tk.Frame):
def __init__(self, parent, *args, **kwargs):
tk.Frame.__init__(self, parent, *args, **kwargs)
self.parent = parent
self.SideBar = SideBar(self)
self.SideBar.pack(side="bottom", fill="x")
if __name__ == "__main__":
root = tk.Tk()
MainApplication(root).pack(side="top", fill="both", expand=True)
root.mainloop()
は、私がそれをしたいが、私はそれを実行するたびに、それは、サイドバーのインスタンスが「sometextのない属性を持っていないと述べています"
私はこれ以上狂っているように感じる。私は何かが欠けていることを知っている...しかし、私は何が分からない。
また、私はTkinterのオブジェクト指向構造の完全な初心者ですから、いくつかの魂がサンプルコードにリンクすることができますので、私はそれを勉強することができますか?十分なチュートリアルはありましたが、サンプルコードが不足しています。どうもありがとうございます。
は同じページのサイドバーとメインボードです – ryanmoir
同じページで同じウィンドウを意味しますか?はい、私はそうであることを計画しています。 –
サイドバーとメインボードが同じクラスになるように、ウィンドウごとに1つのクラスがあります。次に、GUIの別々のセクションがある場合、フレームを使用します。私はマンチェスターに現在のようにいくつかのコードで回答を投稿します – ryanmoir