「tkinter button command」的推薦目錄:
- 關於tkinter button command 在 コバにゃんチャンネル Youtube 的最佳解答
- 關於tkinter button command 在 大象中醫 Youtube 的最讚貼文
- 關於tkinter button command 在 大象中醫 Youtube 的精選貼文
- 關於tkinter button command 在 [問題] tkinter的Button無法帶入函數的參數? - 看板Python 的評價
- 關於tkinter button command 在 Python tkinter Button 按鈕用法與範例 的評價
- 關於tkinter button command 在 How to pass arguments to a Button command in Tkinter? 的評價
- 關於tkinter button command 在 tkinter-tutorial/buttons.md at master - GitHub 的評價
- 關於tkinter button command 在 Problems adding buttons into new window in tkinter python 3.6 的評價
tkinter button command 在 大象中醫 Youtube 的最讚貼文
tkinter button command 在 大象中醫 Youtube 的精選貼文
tkinter button command 在 Python tkinter Button 按鈕用法與範例 的推薦與評價
這邊要示範tkinter 觸發button 按鈕事件來修改按鈕文字,新增一個函式為button_event,並在建立 tk.Button 時指定 command=button_event ,而事件發生 ... ... <看更多>
tkinter button command 在 [問題] tkinter的Button無法帶入函數的參數? - 看板Python 的推薦與評價
我是新手幾乎沒啥基礎(其實大約十年前高中有學過一點C但忘光了),
最近誤入賊船買了深入淺出程式設計這本書
現在看到了第八章。教到了使用tkinter:
from tkinter import*
def save_data(x, y, z):
file = open("data.txt","a")
file.write("Deport:%s\nDescription:%s\nAddress:%s\n" %(x,y,z))
app = Tk()
app.title("test")
app.geometry('500x500+200+100')
Label(app,text ='Deport:',height=3).pack()
t1 = Entry(app)
t1.pack()
Label(app,text ='Description:',height=3).pack()
t2 = Entry(app)
t2.pack()
Label(app,text ='Address:',height=3).pack()
t3 = Entry(app)
t3.pack()
Button(app,text='save',width=10, command=save_data(t1.get(),t2.get(),t3.get()))
.pack()
app.mainloop()
這串主要是希望建立三個文字框,然後按下Button,可以自動儲存文字框內的資料。
書上的寫法是按下button後,直接執行函式,在函式中帶入文字框的值然後印出。
(就是直接再file.write()那串當中直接用get()獲得數值)
但我的寫法是希望按下button後,可以帶入文字框的值進入函式中,再印出。
但不知道為什麼我的方法總是失敗,一直無法順利得到想要的值。想了很久還是想不透
有稍微爬了一下文之後把command=save_data(t1.get(),t2.get(),t3.get())改成:
command=lambda:save_data(t1.get(),t2.get(),t3.get())
居然就可以成功了??!但我到現在還是不清楚原因。
是Button無法直接帶入有參數的函式嗎?
那加上"lambda:"這指令又是什麼意思?
抱歉問題有點長。希望有人可以幫助我一下...自己一個人學程式語言真的是很難阿!!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.46.136.82
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1459267830.A.6B2.html
※ 編輯: leon80148 (114.46.136.82), 03/30/2016 00:10:52
... <看更多>