Python Tkinter Entry 属性和方法介绍
1. Entry
Entry提供了用户输入内容的功能,也可以作为显示使用。Entry的属性有:
1.1标准属性
background, bd, bg, borderwidth, cursor,
exportselection, fg, font, foreground, highlightbackground,
highlightcolor, highlightthickness, insertbackground,
insertborderwidth, insertofftime, insertontime, insertwidth,
invalidcommand, invcmd, justify, relief, selectbackground,
selectborderwidth, selectforeground, show, state, takefocus,
textvariable, validate, validatecommand, vcmd, width,
xscrollcommand
以上属性来自于python tkinter的__init__文件。感兴趣的读者可以打开查看。
1.2方法
Entry有14种方法:
delete,get,icursor,index,
insert,selection_adjust,selection_clear,selection_from,
selection_present, selection_range, selection_to, xview,
xview_moveto, xview_scroll,
Entry的方法主要是选择输入框中的内容以及索引。
2. Entry属性和方法说明程序
此程序说明了Entry的所有属性和方法。可以通过下拉框选择,查看属性或者方法的效果以及如何设置属性。示例如下:
代码由两部分组成,第一部分是Tkinter窗口代码,第二部分是Entry属性数据
2.1 窗口代码
# coding:utf8
import tkinter as tk
from tkinter.ttk import *
from Entry_Parameter import *
import time
cbx_para = None # 属性下拉框
cbx_method = None # 方法下拉框
lbl_status = None # 输出说明性文字
lbl_code = None #示例代码
lbl_result = None #结果以及说明
entry_result = None #示例输入框
frm_code = None #代码Frame
frm_result = None #结果Frame
init_para = {
} #记录输入框的初始设置
v_str = None #StringVar变量
check = None #检查条件注册
srl = None
def GetInitParameter():
global entry_result
global init_para
init_para = {
}
for item in Entry_Parameter.parameter:
index = item.split("/")[0]
init_para[index] = entry_result[index]
def ClearParameter():
global entry_result
global init_para
for item in Entry_Parameter.parameter:
index = item.split("/")[0]
entry_result[index] = init_para[index]
def check_digit(content):
global lbl_result
if content.isdigit() or content == "":
lbl_result['text']='vcmd:'+content
lbl_result.grid(row=2,column=1)
return True
else:
lbl_result['text']='invvcmd:'+content
lbl_result.grid(row=2, column=1)
return False
def Para_Demo(*args):
global cbx_para
global lbl_code
global lbl_status
global lbl_result
global frm_result
global frm_code
global v_str
global check
global srl
index = cbx_para.current()
lbl_result.grid_forget()
entry_result.delete(0,tk.END)
srl.grid_forget()
#
if index in Entry_Parameter.Entry_Para:
ClearParameter()
frm_code.grid(row=3, column=1, padx=5, pady=5)
frm_result.grid(row=3, column=2, padx=5, pady=5)
frm_code["text"] = Entry_Parameter.parameter[index] + ":代码"
frm_result["text"] = Entry_Parameter.parameter[index] + ":效果"
temp = Entry_Parameter.Entry_Para[index]
dis_code = ""
for item in range(1, len(temp[0])):
dis_code = dis_code + temp[0][item] + "\n"
dis_code += temp[1]
lbl_code['text'] = dis_code
for item in range(1, len(temp[0])):
exec(temp[0][item])
lbl_status['text'] = temp[2]
else:
frm_code.grid_forget()
frm_result.grid_forget()
def Method_Demo(*args):
global cbx_method
global lbl_code
global lbl_status
global lbl_result
global frm_result
global frm_code
index = cbx_method.current()
lbl_result.grid_forget()
entry_result.delete(0, tk.END)
#
if index in Entry_Parameter.Entry_Method:
ClearParameter()
frm_code.grid(row=3, column=1, padx=5, pady=5)
frm_result.grid(row=3, column=2, padx=5