Tkinter.Button button

grammar

Button(父对象,options,...)

Common attributes

Insert picture description here
Insert picture description here
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()

Insert picture description here
The effect after clicking.
Insert picture description here
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()

Insert picture description here
Effect after click.
Insert picture description here
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()

Insert picture description here

Guess you like

Origin blog.csdn.net/qq_44862120/article/details/107941442