1

Python tkinter を使用して、通常の選択リスト (郵便住所の HTML フォームの「州」フィールドなど) を生成するにはどうすればよいですか? 以下に示すように、リストボックス ウィジェットは常にすべての選択を大きなボックスに表示します。高さを 1 に減らすと、選択時にリストが展開されません。OptionMenu ウィジェットは、選択すると正しくリストをポップアップ表示しますが、閉じると Entry のようなボックスに現在の値が表示されません。Entry ウィジェットは目的の外観を備えていますが、値のリストが関連付けられていません。

tkinter は基本的なフォームの選択を行うことができないと私に言わないでください :-(.

from tkinter import *

class App:
    def __init__(self, master):

        frame = Frame(master)
        frame.pack()

        items = ["Apple", "Banana", "Cherry"]
        self.list = Listbox(frame, width=8, height=1)
        for item in items:
            self.list.insert(END, item)
        self.list.pack(side=LEFT)

        fruit = StringVar()
        fruit.set(items[1])
        self.menu = OptionMenu(frame, fruit, *items)
        self.menu.pack(side=LEFT)

        self.entry = Entry(frame, width=8)
        self.entry.insert(0, items[2])
        self.entry.pack(side=LEFT)

root = Tk()
app = App(root)
root.mainloop()
4

2 に答える 2

2

コンボ ボックス ウィジェットを探している場合、TTK は次のウィジェットを提供します。

http://docs.python.org/dev/library/tkinter.ttk.html

http://www.tkdocs.com/widgets/combobox.html

于 2011-09-22T12:30:15.390 に答える