Entry组件
一个单行文本输入框。可以用来接受用户的输入,但是只能输入一行。
如果你只是想显示而不是编辑,那么应该使用标签。
1
w
=
Entry
(
master
,
option
=
value
...
)
需要注意一点,Entry与 Lable 和 Button 不同,其text 属性是无效
的。那么需要让Entry显示文字改如果操作呢?
1
from
tkinter
import
*
2
root
=
Tk
()
3
e
=
StringVar
()
4
#
使用
textvariable
属性,绑定字符串变量
e
5
entry
=
Entry
(
root
,
textvariable
=
e
)
6
e
.
set
(
'
请输入
……'
)
7
entry
.
pack
()
8
root
.
mainloop
()
关于StringVar
该类属于tkinter下,界面编程的时候,需要跟踪变量值的变化,以保证值的变更随时可以显示在界
面上。由于python无法做到这一点,所以使用了tcl的相应的对象,也就是StringVar。StringVar
除了set外还有其他的函数包括:get用于返回StringVar变量的值,trace(mode, callback) 用于在
某种mode被触发的时候调用callback函数。
设置为密码框:
当用户在Entry输入密码时,希望输入的密码是不可见的,而不是明
文,则可以使用show属性
1
from
tkinter
import
*
2
root
=
Tk
()
3
entry
=
Entry
(
root
,
show
=
"*"
)
4
5
entry
.
pack
()
6
root
.
mainloop
()
7
1
Entry还可以将其state属性设置为"readonly",变为只读,则单行文本
框不能编辑,变成了显示文字的Label
1
from
tkinter
import
*
2
root
=
Tk
()
3
entry
=
Entry
(
root
)
4
entry
[
'state'
]
=
'readonly'
5
entry
.
pack
()
6
root
.
mainloop
()
注意:第4行代码中,使用了另一种方式设置组件的属性,类似于字典的操作,直接为某个
属性设置值,使用这种方式设置属性,则不需在实例化的时候传入值。
组件实例对象[“属性名”] = 值
方法
描述
delete ( first, last=None
)
删除字符的部件,在指标之一,但不包括在最后位置的字符开始。如果
第二个参数被忽略,只有在单个字符的位置被删除.
get()
返回当前组件的字符串
icursor ( index )
在给定索引处的字符之前插入光标
index ( index )
移动entry的内容,使得给定索引处的字符是最左边的可见字符。 如果文
本在entry中刚好完全显示,则不起作用。
insert ( index, s )
将字符串s插入给定索引处的字符之前。
select_adjust ( index )
此方法用于确保选中的部分包含指定索引处的字符。
select_clear()
清除选中的。 如果当前没有选中的,则不起作用。
select_from ( index )
将ANCHOR索引位置设置为由索引选择的字符位置,并选择该字符。
select_present()
如果有选择,则返回true,否则返回false。
select_range ( start, end
)
在程序控制下设置选择。 选择从开始索引处开始的文本,但不包括结束
索引处的字符。 起始位置必须在结束位置之前。
select_to ( index )
选择从ANCHOR位置开始的所有文本,但不包括给定索引处的字符。
xview ( index )
此方法在将Entry链接到水平滚动条时非常有用。
xview_scroll ( number,
what )
用于水平滚动Entry。 参数必须是UNITS,按字符宽度滚动,或者按页面
大小来滚动。 数字是从左到右滚动的正数,负数从右到左滚动。
Radiobutton组件
单选按钮,即在同一组内只能有一个按钮被选中,每当选中组内的一个
按钮时,其它的按钮自动改为非选中态,与其他控件不同的是,它有组
的概念
1
w
=
Radiobutton
(
master
,
option
,
...
)
该按钮的使用较为简单,同样使用command关联函数,点击时候响应
1
from
tkinter
import
*
2
3
def
sel
():
4
selection
=
"You selected the option "
+
str
(
var
.
get
())
5
print
(
selection
)
6
7
root
=
Tk
()
8
#
创建整型变量,用于绑定,相同的整型变量是为同一组
9
var
=
IntVar
()
10
R1
=
Radiobutton
(
root
,
text
=
"Option 1"
,
variable
=
var
,
value
=
1
,
command
=
se
l
)
11
R1
.
pack
(
anchor
=
W
)
12
13
R2
=
Radiobutton
(
root
,
text
=
"Option 2"
,
variable
=
var
,
value
=
2
,
command
=
sel
)
14
R2
.
pack
(
anchor
=
W
)
15
16
R3
=
Radiobutton
(
root
,
text
=
"Option 3"
,
variable
=
var
,
value
=
3
,
command
=
se
l
)
17
R3
.
pack
(
anchor
=
W
)
18
19
root
.
mainloop
()
基本方法:
方法
描述
deselect()
清除单选按钮的状态
flash()
在激活状态颜色和正常颜色之间闪烁几次单选按钮,但保持它开始时的状态。
invoke()
可以调用此方法来获得与用户单击单选按钮以更改其状态时发生的操作相同的
操作
select()
设置单选按钮为选中。