次のコードでは、「タスクの追加」ボタンが2つのタスク間にスペースを作成して空の入力をリストボックスに追加するエラーが発生します。それが起こり得ない場所でこれをコーディングする方法はありますか?リストボックス内のリストは、各タスクが次々に現れる順番になるようにしたい。なぜこのようなことが起こるのか分かりません。それはPythonの一部ですか?再度、感謝します。 update(self)
で「タスクの追加」ボタンが空の文字列を受け付けないようにするにはどうすればよいですか?
import tkinter as tk
def main():
root = tk.Tk()
root.geometry("350x450")
root.title("basic window")
root.config(background="azure")
app = Application (root)
root.mainloop()
class Application(tk.Frame):
def __init__(self, parent):
tk.Frame.__init__(self, parent, bg="yellow", bd=2, relief=tk.RIDGE)
self.parent = parent
self.initUI()
def initUI(self):
self.pack(fill="both", expand=1)
#widget layout
self.listbox = tk.Listbox(self, bd=2, relief=tk.SUNKEN, height="15")
self.listbox.grid(row=0, column=0, sticky="w", padx=5, pady=5)
self.entry=tk.Entry(self, width=19)
self.entry.grid(row=1, stick="w", padx=5)
self.button1=tk.Button(self, text="add task", command=self.update)
self.button1.grid(row=1, column=1, sticky="w", padx=5)
self.label=tk.Label(self, text="stats", bg="yellow")
self.label.grid(row=0, column=1, sticky="n")
#programing
def update(self):
self.listbox.insert("end", self.entry.get())
self.entry.delete(0, "end")
if __name__ == '__main__':
main()
こんにちはReblochon、コードが動作します。どうもありがとう。私は、これはユーザーの入力があるたびに実行する必要があると思います。 – fishtang
はい;入力文字列はボタンが押されるたびにテストされます。さらに多くの入力フィールドが必要で、空の文字列が入力されないようにするには、それぞれのコールバックメソッドで同じテクニックを使用できます。 –