2019年8月29日 / 4,194次阅读 / Last Modified 2019年8月30日
tkinter
Python的tkinter模块中,有一个子模块simpledialog.py,这个子模块里有这样三个函数:askinteger,askfloat,askstring。他们通过GUI窗口的方式,让用户输入一个整数,浮点数,或者字符串,并且自带输入合法性检测!使用非常方便。
通过对话框,让用户输入一个整数:
>>> import tkinter as tk
>>> from tkinter.simpledialog import askinteger,askfloat,askstring
>>> root = tk.Tk() # you need a root window to show examples below
>>>
>>> print(askinteger('askinteger','please give me an integer:'))
12345
>>> print(askinteger('askinteger','please give me an integer:'))
None
第1个参数是对话框的Title,第2个参数是输入条上面的一行信息。本文所介绍的三个ask函数,都是这样的参数风格。
输入整数,点击OK,返回整数,点击Cancel,返回None,直接关闭此对话框,返回None。如果输入非法数据,会有如下窗口弹出:
askinteger函数还支持设置初始值,设置可以接收的最大值和最小值,这极大方便了应用的开发。
askinteger('askinteger','please give me an integer:',
initialvalue=12345, minvalue=100, maxvalue=20000)
这是接收浮点数的对话框:
>>> print(askfloat('askfloat','please give me a float:'))
1.2345
>>> print(askfloat('askfloat','please give me a float:'))
None
输入小数(浮点数),点击OK,返回小数,点击Cancel,返回None,直接关闭此对话框,返回None。 同样自带输入合法性检查。但是,askfloat可以接收一个整数,返回的是此整数对应的float。
跟askinteger一样,askfloat也支持设置初始值,最大值和最小值。
接收字符串的对话框,这个对话框可以接受的数据就很广了,输入整数或浮点数,都会被当做字符串返回。
>>> print(askstring('askstring','please give me a string:'))
123
>>> print(askstring('askstring','please give me a string:'))
1.234
>>> print(askstring('askstring','please give me a string:'))
asdfasd
>>> print(askstring('askstring','please give me a string:'))
;;;;;909f
那些字符序列不是字符串呢?我还没测出来这个函数的输入合法性检查。Cancel和直接关闭窗口,返回都是None。
askstring也支持设置初始值,最大值和最小值,不过要注意,askstring接收的是字符串,内部比较大小,也是字符串之间比较大小。
以上就是python tkinter模块的askinteger,askfloat,askstring这三个函数的介绍。
-- EOF --
本文链接:https://www.pynote.net/archives/990
©Copyright 麦新杰 Since 2019 Python笔记