欢迎光临
我们一起进阶

Python的GUI编程(四)Entry(条目)

扫码或搜索:沉默王二
发送 290992
即可立即永久解锁本站全部文章

Entry 是 Tkinter 用来接收字符串等输入的控件.
该控件允许用户输入一行文字. 如果用户输入的文字长度长于 Entry 控件的宽度时, 文字会向后滚动.
这种情况下所输入的字符串无法全部显示. 点击箭头符号可以将不可见的文字部分移入可见区域.
如果你想要输入多行文本, 就需要使用 Text 控件. Entry 控件只能使用预设字体. 

使用 Entry 控件的语法如下: 
w = Entry(master, option, …) 
    master 参数为其父控件, 就是用来放置这个 Entry 的控件. 像其他控件一样, 我们可以在创建 Entry 控件之后再为其指定属性. 因此创建方法中的 options 选项可以为空. 

Tkinter Entry(文本框)的选项、方法说明,以及一些示例:

http://www.cnblogs.com/onlyfu/archive/2013/03/07/2947473.html#get

程序1:

from Tkinter import *

root=Tk()
En=Entry(root,text='Entry').pack()
root.mainloop()

未显示文本内容,与Lable和Button不同,Entry的text属性不可以设置Entry的文本

在Entry中设定初始值,使用textvariable将变量与Entry绑定

class StringVar(Variable):
    """Value holder for strings variables."""
    _default = ""
    def __init__(self, master=None, value=None, name=None):
        """Construct a string variable.

MASTER can be given as master widget.
VALUE is an optional value (defaults to “”)
NAME is an optional Tcl name (defaults to PY_VARnum).

If NAME matches an existing variable and VALUE is omitted
then the existing value is retained.
“””

构建一个字符串变量。
MASTER可以作为主小部件。
值是可选的值(默认为“”空)
名称是一个可选的Tcl名称(默认为PY_VARnum)。

如果名称与现有变量匹配,则省略该值。
然后保留现有的值。

Variable.init(self, master, value, name)

设置

def set(self, value):
    """Set the variable to VALUE."""
    return self._tk.globalsetvar(self._name, value)

from Tkinter import *

root=Tk()
#定义StringVar()类对象
e=StringVar()
En=Entry(root,textvariable=e).pack()
#对象值设定
e.set('Entry')
root.mainloop()

与Entry绑定,然后将e的值设置为’Entry’,程序运行时的初始值便设置了(该值是可变的)。

修改参数状态(只读),用户不可以对其进行修改,如下:
from Tkinter import *

root=Tk()
#定义StringVar()类对象
e=StringVar()
En=Entry(root,textvariable=e,state='readonly').pack()
#对象值设定
e.set('Entry')
#也可以像字典一样修改键对应的值
#En['state']='readonly'
root.mainloop()

由于Entry等控件中的参数是关键字参数,其由键-值组成。
关键字参数是在传递构成中不必按照顺序传递,必须要提供”传递参数名=传递参数值”形式的参数,而传递过程中也转变为dict的键值对map关系。

所以可以通过config方法来修改参数值,也可以通过字典的形式修改。

赞(1) 打赏
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

小白学堂,学的不止是技术,更是前程

关于我们免责声明

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏