Entry 顾名思义,就是个输入框,用户可以在里面输入任何东西,开发者也可以指定输入的形式或者字体的自定义,下面是Entry对应的一些属性值以及方法名:
属性值 | 描述 |
bg | 输入框背景颜色 |
bd | 边框的大小,默认为 2 个像素 |
cursor | 光标的形状设定,如arrow, circle, cross, plus 等 |
font | 文本字体 |
exportselection | 默认情况下,你如果在输入框中选中文本,默认会复制到粘贴板,如果要忽略这个功能刻工艺设置 exportselection=0 |
fg | 文字颜色。值为颜色或为颜色代码 |
highlightcolor | 文本框高亮边框颜色,当文本框获取焦点时显示 |
selectbackground | 选中文字的背景颜色 |
selectborderwidth | 选中文字的背景边框宽度 |
selectforeground | 选中文字的颜色 |
show | 指定文本框内容显示为字符,值随意,满足字符即可。如密码可以将值设为 show="*" |
state | 默认为 state=NORMAL, 文框状态,分为只读和可写,值为:normal/disabled |
textvariable | 文本框的值,是一个StringVar()对象 |
xscrollcommand | 设置水平方向滚动条,一般在用户输入的文本框内容宽度大于文本框显示的宽度时使用 |
方法名 | 描述 |
delete ( first, last=None ) | 删除文本框里直接位置值 |
get() | 获取文件框的值 |
index ( index ) | 返回指定的索引值 |
insert ( index, s ) | 向文本框中插入值,index:插入位置,s:插入值 |
select_clear() | 清空文本框 |
select_present() | 如果有选中,返回 true,否则返回 false |
select_range (start,end) | 选中指定索引位置的值,start(包含)为开始位置,end(不包含) 为结束位置start必须比end小 |
按钮控件的属性如下:
属性值 | 描述 |
activebackground | 按钮按下时背景颜色,默认是系统指定的颜色 |
activeforeground | 按钮按下时前景颜色,默认是系统指定的颜色。 |
background | 按钮的背景颜色,默认是系统指定颜色 |
command | 当按钮被按下时,会调用该函数 |
disabledforeground | 按钮被禁止使用时,按时上的文字的颜色 |
font | 按钮上文字的字体 |
padx | 在水平方向上,按钮边框和文字或图像之间的填充(pad) |
pady | 在垂直方向上,按钮边框和文字或图像之间的填充(pad) |
text | 显示在按钮上的文字。如果使用了bitmap或者image,该选项被忽略 |
这里只列举了比较常用的集中属性以及方法,还有更多的属性以及方法有需要的话可以问问度娘
说了那么多,上实战
global userName_Entry
global passWord_Entry
# 1、导入Tkinter模块
# 2、创建控件
# 3、指定这个控件的master, 即这个控件属于哪一个
# 4、告诉GM(geometry manager) 有一个控件产生了。
root_win = tkinter.Tk()
# 设置标题
root_win.title('Game_打包脚本')
# 屏幕宽度以及屏幕高度
screenwidth = root_win.winfo_screenwidth()
screenheight = root_win.winfo_screenheight()
# 设置窗口大小
dialog_width = 800
dialog_height = 600
# 后面两个参数指的是界面在屏幕上显示的位置,记住x是英文字母的x而不是乘号
root_win.geometry("%dx%d+%d+%d" % (
dialog_width, dialog_height, (screenwidth - dialog_width) / 2, (screenheight - dialog_height) / 2))
# Label定义标签
userName = tkinter.Label(root_win, text='UserName:')
passWord = tkinter.Label(root_win, text='PassWord:')
userName.grid(row=0)
passWord.grid(row=1)
# Entry:定义两个输入框
userName_Entry = tkinter.Entry(root_win, xscorllcommand=1)
passWord_Entry = tkinter.Entry(root_win, show="*")
userName_Entry.grid(row=0, column=1)
passWord_Entry.grid(row=1, column=1)
# command点击触发对应的方法事件 text 文本
# 定义两个按钮 Exit_Btn点击后退出
Login_Btn = tkinter.Button(root_win, text='Login', command=getInfo)
Exit_Btn = tkinter.Button(root_win, text='Exit', command=root_win.quit)
Login_Btn.grid(row=2, column=0)
Exit_Btn.grid(row=2, column=1)
# 菜单栏
Menu = tkinter.Menu(root_win)
Menu.add_command(label='文件', command=OpenFile)
Menu.add_command(label='关于')
Menu.add_command(label='退出', command=root_win.quit)
# 菜单实例应用到窗口中
root_win['menu'] = Menu
# 进入消息循环
root_win.mainloop()
def OpenFile():
# 选择文件path_接收文件地址
path_ = tkinter.filedialog.askopenfilename()
def getInfo():
print("账号为:{}, 密码为:{}".format(userName_Entry.get(), passWord_Entry.get()))
效果如下,在输入框里输入内容,点击Login就会在控制台打印出对应的内容