3

単純なTkinterGUIを作成しています。しかし、何かがうまくいかないようです。実際には何もフレームに「パック」されていません。誰かが私が間違ったことを見つけることができますか?('from Tkinter import *'を使用することによって引き起こされる問題、および明らかに役に立たない' do_nothing()'関数を除きます。

#/usr/bin/python
from Tkinter import *

class gui:
    def __init__(self, parent):
        f = Frame(parent, width=300, height=500)
        f.pack(padx=30, pady=15)

        self.label = Label(f, text="Japanese Trainer")
        self.label.pack(side=TOP, padx=10, pady=12)

        self.txtlbl = Entry(f, justify=CENTER, text="", font=("Calibri", 15, "bold"), width=37)
        self.txtlbl.pack()
        self.txtlbl.grid(row=1, rowspan=2, sticky=E, pady=10, padx=40)

        self.button0 = Button(f, text="Kana Trainer", width=20, command=self.do_nothing)
        self.button0.pack()
        self.button0.grid(row=3, rowspan=2, sticky=W, pady=10, padx=40)

        self.button1 = Button(f, text="Vocab Trainer", width=20, command=self.do_nothing)
        self.button1.pack()
        self.button1.grid(row=3, rowspan=2, sticky=E, pady=10, padx=40)

    def do_nothing(self):
        self.txtlbl.delete(0, END)
        self.txtlbl.insert(END, "Command did nothing...")


root = Tk()
root.title('Eg.')
app = gui(root)

root.mainloop()
4

1 に答える 1

1

同じマスターウィンドウでミキシングgridしています。packあなたはそれをすることはできません。それぞれが管理するウィジェットのサイズを変更する可能性があり、それぞれが管理するウィジェットのサイズ変更に応答します。したがって、packはウィジェットのサイズを適切に変更し、gridは変更を認識してウィジェットのサイズを適切に変更しようとします。packは変更を認識し、ウィジェットのサイズを適切に変更しようとします...結果として無限のループが発生します。

pack同じプログラムで一緒に使用することはできgridますが、同じコンテナを管理するためにそれらを使用することはできません。

于 2012-05-12T11:47:56.637 に答える