Python Tkinter对话框控件怎么使用
导读:本文共5105字符,通常情况下阅读需要17分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 除了基本的控件之外,Tkinter 还提供了三种对话框控件:文件选择对话框:filedailog颜色选择对话框:colorchooser消息对话框:messagebox文件选择对话框文件对话框在 GUI 程序中经常的使用到,比如上传文档需要从本地选择一个文件,包括文件的打开和保存功能都需要一个文件对话框来实现。Tkinter 提供文件对话框被封装在tkinter... ...
目录
(为您整理了一些要点),点击可以直达。除了基本的控件之外,Tkinter 还提供了三种对话框控件:
文件选择对话框:filedailog
颜色选择对话框:colorchooser
消息对话框:messagebox
文件选择对话框
文件对话框在 GUI 程序中经常的使用到,比如上传文档需要从本地选择一个文件,包括文件的打开和保存功能都需要一个文件对话框来实现。Tkinter 提供文件对话框被封装在tkinter.filedailog模块中,该模块提供了有关文件对话框的常用函数,经常使用的有以下几个:
上述方法的常用参数值如下所示:
下面看一组具体的实例应用:
fromtkinterimport*importtkinter.filedialog#注意次数要将文件对话框导入#定义一个处理文件的相关函数defaskfile():#从本地选择一个文件,并返回文件的目录filename=tkinter.filedialog.askopenfilename()iffilename!='':lb.config(text=filename)else:lb.config(text='您没有选择任何文件')root=Tk()root.config(bg='#87CEEB')root.title("C语言中文网")root.geometry('400x200+300+300')root.iconbitmap('C:/Users/Administrator/Desktop/C语言中文网logo.ico')btn=Button(root,text='选择文件',relief=RAISED,command=askfile)btn.grid(row=0,column=0)lb=Label(root,text='',bg='#87CEEB')lb.grid(row=0,column=1,padx=5)#显示窗口root.mainloop()
程序运行结果:
图1:文件选择界面
下面再看一组“保存文件”的示例代码如下:
importtkinterastkfromtkinterimportfiledialogfromPILimportImagedefopen_img():try:globalimgfilepath=filedialog.askopenfilename()#打开文件,返回该文件的完整路径filename.set(filepath)img=Image.open(filename.get())exceptExceptionase:print("您没有选择任何文件",e)defsave_png():try:filetypes=[("PNG","*.png"),("JPG","*.jpg"),("GIF","*.gif"),("txtfiles","*.txt"),('Allfiles','*')]#返回一个pathname文件路径字符串,如果取消或者关闭则返回空字符,返回文件如何操作是后续代码的事情,#该函数知识返回选择文件的文件名字,不具备保存文件的能力filenewpath=filedialog.asksaveasfilename(title='保存文件',filetypes=filetypes,defaultextension='.png',initialdir='C:/Users/Administrator/Desktop')path_var.set(filenewpath)#保存文件img.save(str(path_var.get()))exceptExceptionase:print(e)window=tk.Tk()window.title("C语言中文网")window.geometry('400x200+300+300')window.iconbitmap('C:/Users/Administrator/Desktop/C语言中文网logo.ico')filename=tk.StringVar()path_var=tk.StringVar()#定义读取文件的组件entry=tk.Entry(window,textvariable=filename)entry.grid(row=1,column=0,padx=5,pady=5)tk.Button(window,text='选择文件',command=open_img).grid(row=1,column=1,padx=5,pady=5)#定义保存文件的组件entry1=tk.Entry(window,textvariable=path_var)entry1.grid(row=2,column=0,padx=5,pady=5)tk.Button(window,text='保存文件',command=save_png).grid(row=2,column=1,padx=5,pady=5)window.mainloop()
程序运行结果:
图2:程序运行结果
颜色选择对话框
颜色选择对话框(colorchooser),提供了一个非常友善的颜色面板,它允许用户选择自己所需要的颜色。当用户在面板上选择一个颜色并按下“确定”按钮后,它会返回一个二元祖,其第 1 个元素是选择的 RGB 颜色值,第 2 个元素是对应的 16 进制颜色值。
颜色选择对话款主要应用在画笔、涂鸦等功能上,通过它可以绘制出五彩缤纷的颜色,该对话框的使用非常简单,主要有以下两个常用方法:
常用的颜色对话框的参数值如下表所示:
2. 如果想要将对话框显示在子窗口上,那么可以设置parent = 子窗口对象
下面看一组简单的使用示例:
importtkinterastkfromtkinterimportcolorchooserroot=tk.Tk()root.title("颜色选择")root.geometry('400x200+300+300')root.iconbitmap('C:/Users/Administrator/Desktop/C语言中文网logo.ico')defcallback():#打开颜色对话款colorvalue=tk.colorchooser.askcolor()#在颜色面板点击确定后,会在窗口显示二元组颜色值lb.config(text='颜色值:'+str(colorvalue))lb=tk.Label(root,text='',font=('宋体',10))#将label标签放置在主窗口lb.pack()tk.Button(root,text="点击选择颜色",command=callback,width=10,bg='#9AC0CD').pack()#显示界面root.mainloop()
颜色对话框如下所示:
图3:tkinter颜色对话框
上述程序的运行结果如下:
图4:程序运行结果
消息对话框
关于消息对话款(messagebox),在前面介绍其他控件时已经使用过,在本节仅对它做简单介绍。
消息对话框主要起到信息提示、警告、说明、询问等作用,通常配合“事件函数”一起使用,比如执行某个操作出现了错误,然后弹出错误消息提示框。通过使用消息对话框可以提升用户的交互体验,也使得 GUI 程序更加人性化。消息对话框主要包含了以下常用方法:
上述方法拥有相同的选项参数,如下表所示:
2. 默认是第一个按钮(像“确定”,“是”或“重试”)
3. 可以设置的值根据对话框函数的不同,可以选择 CANCEL,IGNORE,OK,NO,RETRY 或 YESicon1. 指定对话框显示的图标
2. 可以指定的值有:ERROR,INFO,QUESTION 或 WARNING
3. 注意:不能指定自己的图标parent1. 如果不指定该选项,那么对话框默认显示在根窗口上
2. 如果想要将对话框显示在子窗口上,那么可以设置 parent= 子窗口对象
上述方法的返回值一般会是一个布尔值,或者是“YES”,“NO”,“OK”等,这些方法使用较为简单,此处不进行逐一列举,看个简单的示例即可:
importtkinter.messageboxresult=tkinter.messagebox.askokcancel("提示","你确定要关闭窗口吗?")#返回布尔值参数print(result)
程序运行结果:
图5:消息对话框
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
Python Tkinter对话框控件怎么使用的详细内容,希望对您有所帮助,信息来源于网络。