1

Tkinter GUI にプログレス バーを追加しようとしていましたが、定義方法が 100% わからないという問題に悩まされていました。私のプログラムはこのファッションでセットアップされています。

class MAIN(object):
    def __init__(self, *args, **kwargs)
        tkinter stuff...

root = tk.Tk()
app = MAIN(root)
app.mainloop()

そして、この例を使用して進行状況を追加しようとしました (これは単独で動作します)。そして、このコードはこのように設定されています。

class MAIN(tk.Tk):
    def __init__(self, *args, **kwargs)
        tk.Tk.__init(self, *args, **kwargs)
        tkinter stuff....

app = MAIN()
app.mainloop()

これらのプログラムのいずれかを他方の形式に変更すると、エラーがスローされます。理想的には、自分の形式 (最初の形式) を維持し、例を自分の形式で実行できるようにしたいと考えています。そうすれば、多くのレガシー コードを更新する必要がなくなります。

ヘルプ/説明をいただければ幸いです。

編集:ここにエラーがあります。

TypeError: unbound method __init__() must be called with Tk instance as first argument (got SampleApp instance instead)
4

1 に答える 1

0

私の問題は、クラスの継承を理解していなかったことと、進行状況バーを使用しようとする前の私のプログラムがtk.Tk.__init__. したがって、問題の解決策は、実際の例のように を に置き換えることでしclass MAIN(object):class MAIN(tk.Tk):。プログレス バーがまだ正しく機能せず、別のウィンドウが表示されますが、プログラムは実行されます。

于 2012-06-29T19:51:58.410 に答える