龙听期货论坛's Archiver

龙听 发表于 2024-3-20 13:43

Python GUI编程(Tkinter) - 【文本框(Entry)】

Python Tkinter 文本框用来让用户输入一行文本字符串。

    你如果需要输入多行文本,可以使用 Text 组件。

    你如果需要显示一行或多行文本且不允许用户修改,你可以使用 Label 组件。

语法

语法格式如下:
[code]w = Entry( master, option, ... )[/code]

    master: 按钮的父容器。

    options: 可选项,即该按钮的可设置的属性。这些选项可以用键 = 值的形式设置,并以逗号分隔。

[table]
[tr][td]序号        [/td][td]可选项 & 描述[/td][/tr]
[tr][td]1[/td][td]
[b]bg[/b]
输入框背景颜色[/td][/tr]
[tr][td]2[/td][td]
[b]bd [/b]
边框的大小,默认为 2 个像素[/td][/tr]
[tr][td]3[/td][td]
[b]cursor[/b]
光标的形状设定,如arrow, circle, cross, plus 等[/td][/tr]
[tr][td]4[/td][td]
[b]font[/b]
文本字体[/td][/tr]
[tr][td]5[/td][td]
[b]exportselection[/b]
默认情况下,你如果在输入框中选中文本,默认会复制到粘贴板,如果要忽略这个功能刻工艺设置 exportselection=0。[/td][/tr]
[tr][td]6[/td][td]
[b]fg [/b]
文字颜色。值为颜色或为颜色代码,如:'red','#ff0000'[/td][/tr]
[tr][td]7[/td][td]
[b]highlightcolor[/b]
文本框高亮边框颜色,当文本框获取焦点时显示[/td][/tr]
[tr][td]8[/td][td]
[b]justify[/b]
显示多行文本的时候,设置不同行之间的对齐方式,可选项包括LEFT, RIGHT, CENTER[/td][/tr]
[tr][td]9[/td][td]
[b]relief[/b]
边框样式,设置控件3D效果,可选的有:FLAT、SUNKEN、RAISED、GROOVE、RIDGE。默认为 FLAT。[/td][/tr]
[tr][td]10[/td][td]
[b]selectbackground[/b]
选中文字的背景颜色[/td][/tr]
[tr][td]11[/td][td]
[b]selectborderwidth[/b]
选中文字的背景边框宽度[/td][/tr]
[tr][td]12[/td][td]
[b]selectforeground[/b]
选中文字的颜色[/td][/tr]
[tr][td]13[/td][td]
[b]show[/b]
指定文本框内容显示为字符,值随意,满足字符即可。如密码可以将值设为 show="*"[/td][/tr]
[tr][td]14[/td][td]
[b]state[/b]
默认为 state=NORMAL, 文框状态,分为只读和可写,值为:normal/disabled[/td][/tr]
[tr][td]15[/td][td]
[b]textvariable[/b]
文本框的值,是一个StringVar()对象[/td][/tr]
[tr][td]16[/td][td]
[b]width[/b]
文本框宽度[/td][/tr]
[tr][td]17[/td][td]
[b]xscrollcommand[/b]
设置水平方向滚动条,一般在用户输入的文本框内容宽度大于文本框显示的宽度时使用。[/td][/tr]
[/table]方法
下表为文本框组件常用的方法:[table]
[tr][td]序号[/td][td]方法 & 描述[/td][/tr]
[tr][td]1[/td][td]
[b]delete ( first, last=None )[/b]
删除文本框里直接位置值
[code]text.delete(10)      # 删除索引值为10的值
text.delete(10, 20)  # 删除索引值从10到20之前的值
text.delete(0, END)  # 删除所有值[/code]
[/td][/tr]
[tr][td]2[/td][td]
[b]get()[/b]
获取文件框的值[/td][/tr]
[tr][td]3[/td][td]
[b]icursor ( index )[/b]
将光标移动到指定索引位置,只有当文框获取焦点后成立[/td][/tr]
[tr][td]4[/td][td]
[b]index ( index )[/b]
返回指定的索引值[/td][/tr]
[tr][td]5[/td][td]
[b]insert ( index, s )[/b]
向文本框中插入值,index:插入位置,s:插入值[/td][/tr]
[tr][td]6[/td][td]
[b]select_adjust ( index )[/b]
选中指定索引和光标所在位置之前的值 [/td][/tr]
[tr][td]7[/td][td]
[b]select_clear()[/b]
清空文本框[/td][/tr]
[tr][td]8[/td][td]
[b]select_from ( index )[/b]
设置光标的位置,通过索引值 index 来设置[/td][/tr]
[tr][td]9[/td][td]
[b]select_present()[/b]
如果有选中,返回 true,否则返回 false。[/td][/tr]
[tr][td]10[/td][td]
[b]select_range ( start, end )[/b]
选中指定索引位置的值,start(包含) 为开始位置,end(不包含) 为结束位置start必须比end小[/td][/tr]
[tr][td]11[/td][td]
[b]select_to ( index )[/b]
选中指定索引与光标之间的值[/td][/tr]
[tr][td]12[/td][td]
[b]xview ( index )[/b]
该方法在文本框链接到水平滚动条上很有用。[/td][/tr]
[tr][td]13[/td][td]
[b]xview_scroll ( number, what )[/b]
用于水平滚动文本框。 what 参数可以是 UNITS, 按字符宽度滚动,或者可以是 PAGES, 按文本框组件块滚动。  number 参数,正数为由左到右滚动,负数为由右到左滚动。[/td][/tr]
[/table]

龙听 发表于 2024-3-20 13:45

实例

实例中点击按钮会显示一个信息:

实例[code]#!/usr/bin/python
# -*- coding: UTF-8 -*-

from Tkinter import *

top = Tk()
L1 = Label(top, text="网站名")
L1.pack( side = LEFT)
E1 = Entry(top, bd =5)
E1.pack(side = RIGHT)

top.mainloop()[/code]

龙听 发表于 2024-3-20 13:50

[img]http://p.algo2.net/2024/0320/684fe9342d6f0.png[/img]

页: [1]