响应函数都是通过bind函数进行绑定操作
1.首先需要加两个库
import tkinter.messagebox-----信息显示对话框操作
import tkinter.simpledialog -----交互对话框操作
2. 定义消息响应函数 event_handle
3. 通过bind进行连接
#coding:utf-8
import tkinter
import os
import sys
import tkinter.messagebox
import tkinter.simpledialog
#利用此函数实现资源路径的定位
def get_resources_path(relative_path):
if getattr (sys, "frozen", False):
base_path = sys._MEIPASS #获取临时资源
else:
base_path = os.path.abspath(".") #获取当前路径
return os.path.join(base_path, relative_path) #获取绝对路径
LOGO_PATH = get_resources_path(os.path.join("resources" ,"cc1.ico"))
IMAGE_PATH = get_resources_path(os.path.join("resources" ,"cc2.png"))
class MainForm:
def __init__(self):
self. root = tkinter.Tk() #新建一个窗体
self.root.title ( "吃不胖的粥") #标题
self.root.geometry("500x400") #初始窗口大小,为小写x
self.root.maxsize (1000,400) #最大化后窗口大小
self.root.iconbitmap(LOGO_PATH) #图标,bmp格式可直接修改后缀
self.root["background"] = "LightPink" #界面颜色设置,其他颜色可以百度
self.label_text = tkinter.Label(self.root, text ="欢迎光临",
width = 100, height = 100, #设置标签的长宽
bg = "yellow", #设置标签的背景颜色
fg = "#ffffff", #设置字体的颜色
font = ("微软雅黑", 20), ##设置字体款式
justify = "right") #右边对齐
self.photo = tkinter.PhotoImage(file = IMAGE_PATH) #标签显示图片
self.label_image = tkinter.Label(self.root, image = self.photo)
self.label_image.pack() #显示标签
# label_text.pack() #显示标签
#----------------------------------------------------------------------------------#
self.text = tkinter.Text(self.root, width = 50, height = 15, font =("微软雅黑",10))
self.text.insert("insert", "simple")
self.text.image_create("current", image = self.photo)
#self.text.pack()
#-----------------------------------------------------------------------------------#
self.button = tkinter.Button(self.root, text = "请选择你想吃的菜",
image = self.photo,
compound = "bottom",
fg = "green",
font = ( "微软雅黑",10))
#事件响应操作: Button-1为鼠标的左键
# self.root.bind("<Button-1>", lambda event: self.event_handle(event, "订餐无效!"))
#button 事件相应操作
self.button.bind("<Button-1>", lambda event: self.event_handle(event, "订餐有效!"))
self.button.pack()
self.root.mainloop() #显示窗体
def event_handle(self, event, info):
#执行以下代码时,自动跳出输入框
input_message = tkinter.simpledialog.askstring("提示框","请输入提示信息")
#弹出对话框,显示信息
tkinter.messagebox.showinfo(title= "粥小姐的厨房",message= input_message)
def main():
MainForm()
if __name__ == "__main__":
main()
结果图:
左键点击button按钮 ,出现提示信息框,点击提示框的OK后,出现信息框