0

自動生成されたTkinterGUI(HTMLフォームなど)を作成しており、HTMLが使用するようなファイル名フィールドを作成しようとしています。これが私のコードです:

e = ttk.Entry(master)
e.grid(row=ROW, column=1)
b = ttk.Button(master, text="...")
b.grid(row=ROW, column=2, sticky=tkinter.E)

ユーザーが...ボタンをクリックするとファイル名ダイアログがポップアップし(その部分の実行方法を知っています)、ユーザーがファイルを選択すると、そのファイルがエントリに反映されるようにしたいと思います(これは私が持っている部分です)トラブル)。その部分で問題が発生するのは、ループで実行されるためEとBが絶えず変化するためです。したがって、これを機能させる唯一の方法は、行検出器を使用して、入力ボックスの値を変更することだと思います。 。どうすればいいですか?

前もって感謝します!これがどういうわけか不明な場合は、私に知らせてください。

4

1 に答える 1

1

最善の解決策の1つは、独自のウィジェットをクラスとして作成することです。このようなもの:

class MyWidget(self, tkinter.Frame):
    def __init__(self, *args, **kwargs):
        tkinter.Frame.__init__(self, *args, **kwargs)
        self.entry = tkinter.Entry(self)
        self.button = tkinter.Button(self, text="...",
                                     command=self._on_button)
        self.button.pack(side="right")
        self.entry.poack(side="left", fill="both", expand=True)

    def _on_button(self):
        s = <call whatever dialog you want...>
        if s != "":
            self.entry.delete(0, "end")
            self.entry.insert(0, s)

...
entry = MyWidget(master)
entry.grid(...)
...
于 2012-06-22T02:17:50.973 に答える