教你怎么用Python Tkinter写对话框

2025-05-04 17:09:25

1、我们要用到的是tk模块下的messagebox子模块。messagebox是tk标准的对话框模块,其下包括两个系列的方法,ask和s茑霁酌绡how系列的方法,从字面上我们也能理解,ask是问,故名意思是一种典型的对话框,这种对话框的特性是拥有多个按钮,而show系列的方法的功能往往是用于显示一些信息。一定要注意这样一点,不管是ask还是show系列的方法,参数都是一样的。方法(标题字符串,信息字符串),返回值是被点击的按钮messagebox子模块共拥有5个ask系列的方法,3个show系列的方法,本经验主要是围绕这8个方法来讲。我们先来看看askyesno方法。import tkintertkinter.messagebox.askyesno("askyesno","显示yes和no按钮 问号图标")返回一个bool类型,如果yes被点击,返回True,no被点击,返回False

教你怎么用Python Tkinter写对话框

2、还有一个和askyesno几乎一模一样的方法是askquetiontkinter.messagebox.askquestion("askquestion","显示yes和no按钮 问号图标 和askyesno大致相同,不同的是返回值")到底是哪里不同呢?其实不同的只有返回值,askquetion返回一个字符串,如果yes被点击则返回yes,no被点击则返回no

教你怎么用Python Tkinter写对话框

3、askokcancel方法则是显示ok按钮和cancel(取消)按钮,我们在这种情况下会用到——例如询问用户是否安装。tkinter.messagebox.askokcancel("askokcancel方法应用","您要继续安装吗?")askokcancel方法的返回值为一个bool类型,如果ok被点击返回True,cancel被点击则返回False

教你怎么用Python Tkinter写对话框

4、as氯短赤亻kyesnocancel方法显示3个按钮,分别是yes、no、cancel。我们在这种情况下会用上,例如询问用户是否髌覆李幌继续。tkinter.messagebox.askyesnocancel("askyesnocancel方法应用","程序出现了某种错误,是否继续运行?点击取消撤销当前更改")askyesnocancel方法也是一个bool类型,当yes按钮被点击,返回True,no按钮被点击返回False,如果cancel被点击返回一个None

教你怎么用Python Tkinter写对话框

5、askretrycancel方法显示一个retry按钮(重试)和cancel按钮(取消)。例如我们询问用户程序读取文件失败,是否重试。tkinter.messagebox.askretrycancel("askretrycancel方法应用","很不幸,读取***文件失败,是否重试?")askretrycancel方法的返回值同为bool类型,如果retry按钮被点击,返回True,cancel按钮被点击返回False

教你怎么用Python Tkinter写对话框

6、show系列的三个方法:show系列最常用的一个方法就是showinfo,该方法用于显示一个ok按钮(当然showinfo方法可以点击右上角的x号关闭),所以其实返回值我们没有多大必要去了解,showinfo的返回值是返回一个字符串,当点击ok按钮时,返回ok字符串,点击右上角的x关闭对话框,同样是返回一个ok字符串。tkinter.messagebox.showinfo("showinfo方法应用","sucess!")

教你怎么用Python Tkinter写对话框

7、第二个show系列的方法则是用于显示警告信息:返回值和showinfo方法相同,同是返回一个ok字符串。tkinter.messagebox.showwarning("showwarning方法应用","检测到您当前的系统版本不是正版,珍爱生命,远离盗版")

教你怎么用Python Tkinter写对话框

8、第三个show系列的方法则是用于显示错误信息:返回值一样是一个ok字符串tkinter.messagebox.showerror("showerror","程序错误")另外这些对话框的图标,要修改的小伙伴我们只能通过tk窗口的iconbitmap方法进行修改,假设C盘下有一个1.ico的图标文件的话。如下:import tkinterwin = tkinter.Tk()win.iconbitmap("c:\\1.ico")tkinter.messagebox.showinfo("看图标哦","哈哈")win.mainloop()

教你怎么用Python Tkinter写对话框
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢