Button button
grammar
Button(父对象,options,...)
Common attributes
Note: This picture is from the rookie tutorial.
Set properties
1.command attribute
from tkinter import *
class Application(Frame):
def __init__(self,master=None):
super().__init__(master)
self.master=master
self.pack()
self.createWidget()
def createWidget(self):
self.button=Button(self,text="点我",command=self.showMessage)
self.button.pack()
def showMessage(self):
self.label=Label(self,text="萤火虫寄语",bg="red")
self.label.pack()
if __name__ == '__main__':
root=Tk()
root.geometry('800x500+200+200')
root.title('萤火虫')
root.configure(bg='pink')
root.iconbitmap('1.ico')
app=Application(master=root)
root.mainloop()
The effect after clicking.
2. Design buttons with pictures
def createWidget(self):
self.moonImage=PhotoImage(file="2.png")
self.button=Button(self,image=self.moonImage,bg="pink",command=self.showMessage)
self.button.pack()
Effect after click.
3. Calculator button layout
from tkinter import *
class Application(Frame):
def __init__(self,master=None):
super().__init__(master)
self.master=master
self.pack()
self.createWidget()
def createWidget(self):
need_text=(('C','%','del','÷'),
('7','8','9','×'),
('4','5','6','-'),
('1','2','3','+'),
('0','00','.','='))
Entry(self).grid(row=0,column=0,columnspan=4,pady=10)
#循环
for rindex,r in enumerate(need_text):
for cindex,c in enumerate(r):
Button(self,text=c,width=4).grid(row=rindex+1,column=cindex,sticky=EW)
if __name__ == '__main__':
root=Tk()
root.geometry('170x220+200+200')
root.title('计算器')
app=Application(master=root)
root.mainloop()