Python tkinter(4)输入框控件

这篇具有很好参考价值的文章主要介绍了Python tkinter(4)输入框控件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


引入

优秀的tkinter库还有那些控件呢?这期我们就来看看输入框吧!

创建一个输入框

先制作一个窗口,然后把输入框黏上去。

import tkinter
root = tkinter.Tk()
entry = tkinter.Entry(root) #创建一个输入框
entry.pack() #把输入框放到窗口上去
root.mainloop()

tkinter输入框,# tkinter,Python,python

输入框的属性

颜色

输入框可以改变它的颜色。颜色包括字体颜色(fgforeground)、背景颜色(bgbackground)、选中时的高亮颜色(selectbackground)和选中时的字体颜色( selectforeground)。

颜色可以用英语单词(如"red""blue")来表示,也可以用HEX格式的颜色(如"#ff00ff""#abcd00")。

import tkinter
root = tkinter.Tk()
entry = tkinter.Entry(root,fg="red",bg="blue",selectbackground="black",selectforeground="white")
#创建一个输入框,正常时蓝底红字,被选中的内容黑底白字
entry.pack() #把输入框放到窗口上去
root.mainloop()

tkinter输入框,# tkinter,Python,python

字体

还可以设置输入框的字体。比如,我喜欢宋体字,希望字体大一点,并且是斜体。

import tkinter
root = tkinter.Tk()
entry = tkinter.Entry(root,font=("宋体",25,"italic"))
#创建一个输入框,字体为宋体,字号25,斜体
#若不需要设置字体大小和字体样式,也可以直接写为:
#entry = tkinter.Entry(root,font="宋体")
entry.pack() #把输入框放到窗口上去
root.mainloop()

tkinter输入框,# tkinter,Python,python而字体的样式除了有斜体之外,还有以下几种:

关键词 样式 样例
roman 正体字 tkinter输入框,# tkinter,Python,python
italic 斜体字 tkinter输入框,# tkinter,Python,python
bold 粗体字 tkinter输入框,# tkinter,Python,python
underline 下划线 tkinter输入框,# tkinter,Python,python
overstrike 杠掉 tkinter输入框,# tkinter,Python,python

长度

输入框只能设置其长度而不能设置其宽度。因此,如果你像这样:entry1 = tkinter.Entry(root,width=50,height=20),那么会报错。而长度并不是像素个数,而是一次性可现实的英文字母个数。也就是说,如果长度为50,那么在不左右滑动的情况下可以一下子显示约50个英文字母。

import tkinter
root = tkinter.Tk()
entry1 = tkinter.Entry(root,width=50) #长度约为50个英文字母
entry1.pack()
entry2 = tkinter.Entry(root,width=20) #长度约为20个英文字母
entry2.pack()
root.mainloop()

tkinter输入框,# tkinter,Python,python

光标

光标有许多种样式。内容不少,这里就稍微介绍下吧,其余的内容我找时间再专门写一篇吧。

import tkinter
root = tkinter.Tk()
entry = tkinter.Entry(root,cursor="crosshair") #光标放在输入框上后样式为十字准心
entry.pack() #把输入框粘到窗口上
root.mainloop()

tkinter输入框,# tkinter,Python,python
默认鼠标样式是xterm(文本编辑,工字形),除此之外还有其它一些鼠标样式,如arrow等。

状态

一般的tkinter控件都有2个常用的状态:正常(Normal)、禁用(Disabled),还有一些不常用的,如只读(Readonly)、活动(Active),这里只介绍Disabled和Normal吧,因为另外两个实在太不常见了。

import tkinter
root = tkinter.Tk()
entry1 = tkinter.Entry(root,state=tkinter.DISABLED)
#禁用,无法点击也无法往里面输入内容,也无法从中复制内容
entry1.pack() 
entry2 = tkinter.Entry(root,state=tkinter.NORMAL)
#可以进行操作
entry2.pack() 
entry3 = tkinter.Entry(root,state="readonly")
#只能复制内容,而不可以输入内容。
#tkinter模块中,没有tkinter.READONLY 这个变量,所有就用字符串代替吧
entry3.pack()
root.mainloop()

tkinter输入框,# tkinter,Python,python

边框

边框样式(relief)一共有这么几种:flatgrooveraisedridgesolidsunken,就一起来看看效果吧!

import tkinter
root = tkinter.Tk()
relief = ["flat","groove","raised","ridge","solid","sunken"] #不同的样式
for i in range(len(relief)):
    entry = tkinter.Entry(root,relief=relief[i]) #每个样式来一个输入框
    entry.place(x=5,y=i * 30) #把每个样式的输入框放在窗口上

root.mainloop()

tkinter输入框,# tkinter,Python,python
有了边框样式,我们还可以设置边框的厚度:bdborderwidth

import tkinter
root = tkinter.Tk()
entry = tkinter.Entry(root,bd=20) #厚厚的一层边框
entry.pack() #把输入框放在窗口上
root.mainloop()

tkinter输入框,# tkinter,Python,python
结果就成这样了,这边框真感人!

显示的字符

如果你想创建一个密码输入框,那么你肯定希望输入的密码被显示为星星或圆点。关键就在于show属性,你想让它显示星星,就show="*",之后你又想让它显示原来的内容,就show=""

import tkinter
root = tkinter.Tk()
entry = tkinter.Entry(root,show="*") #将输入的内容显示为"*"
#当然,你也可以将星星替换成你喜欢的字符
#如果想让输入框显示原来的内容,则可以:
#entry.configure(show="")
entry.pack()
root.mainloop()

tkinter输入框,# tkinter,Python,python

对齐方式

在WPS中,文字排版有三种主要的方式:靠左、居中、靠右。其实Entry也有这三种,如示例:

import tkinter
root = tkinter.Tk()
entry1 = tkinter.Entry(root,justify=tkinter.RIGHT) #靠右
entry1.pack()
entry2 = tkinter.Entry(root,justify=tkinter.LEFT) #靠左
entry2.pack()
entry3 = tkinter.Entry(root,justify=tkinter.CENTER) #居中
entry3.pack()
root.mainloop()

tkinter输入框,# tkinter,Python,python

光标闪烁和粗细

光标的闪烁速度可以被改变,使用属性insertontime,即光标显示的时间,和insertofftime,即光标隐藏的时间。

import tkinter
root = tkinter.Tk()
entry = tkinter.Entry(root,insertofftime=100,insertontime=1000)
#输入的时候,每次光标闪烁,都显示1000毫秒(即1秒),隐藏100毫秒
entry.pack()
root.mainloop()

同时,还可以改变光标的粗细,那就是insertwidth属性。

import tkinter
root = tkinter.Tk()
entry1 = tkinter.Entry(root,insertwidth=1) #细细的光标,粗细为1
entry1.pack()
entry2 = tkinter.Entry(root,insertwidth=10) #粗细为10
entry2.pack()
root.mainloop()

tkinter输入框,# tkinter,Python,pythontkinter输入框,# tkinter,Python,python

修改属性

import tkinter
root = tkinter.Tk()
entry = tkinter.Entry(root) #输入框
entry.pack() #把输入框贴在窗口上
entry.configure(font=("Consolas",50)) #将字体设置为Consolas,字体大小50,默认样式
#configure 和 config 都可以,
#entry.config(font=("Consolas",50)) 效果一样
root.mainloop()

方法

我们除了要给输入框各种属性,还需要对其进行操作。

插入内容

如果我们希望在输入框内插入内容,则可以使用insert()方法。具体如下:

import tkinter
root = tkinter.Tk()
entry = tkinter.Entry()
entry.pack()
entry.insert(tkinter.END,"Hello World!!!")
#在输入框中文字的末尾添加字符串"Hello World!!!"
root.mainloop()

而除了tkinter.END,还可以是tkinter.INSERT。两者的区别在于,tkinter.END代表在文末添加字符串,而tkinter.INSERT代表在当前的光标位置添加字符串。

获取内容

当我们需要获取输入框中的内容,可以调用get()方法。

import tkinter
root = tkinter.Tk()
entry = tkinter.Entry()
entry.pack()
entry.insert(tkinter.END,"Hello World!!!") #插入文本
get_something = entry.get() #获取输入框中的内容
print(get_something)
root.mainloop()

以上的程序会输出输入框中的内容,这里当然就是"Hello World!!!"啦。

删除内容

在这几种操作中,怎么能少了删除呢!要删除输入框中的内容,就调用delete()方法。

import tkinter
root = tkinter.Tk()
entry = tkinter.Entry(root)
entry.pack()
entry.insert(tkinter.END,"Hello World!!!") #插入文本
entry.delete(0,tkinter.END) #删除全部内容
root.mainloop()

delete()用法稍稍复杂,我们看看下面这个表:

示例 意思
entry.delete(0) 删除第1个字符
entry.delete(1) 删除第2个字符
entry.delete(0,2) 删除第1-2个字符
entry.delete(0,tkinter.END) 删除所有字符
entry.delete(0,tkinter.INSERT) 从第1个开始一直删到光标所在位置的前面一个字符

移动光标

将光标移到指定的位置,不多说直接看下面的栗子:

import tkinter
root = tkinter.Tk()
entry = tkinter.Entry(root)
entry.pack()
entry.icursor(0) #将光标移动到第一个字符之前
root.mainloop()

选中内容

我们可以让输入框选中某一部分内容,分别为entry.select_from()entry.select_to()方法,如:

import tkinter
root = tkinter.Tk()
entry = tkinter.Entry(root)
entry.insert(tkinter.END,'Hello World!!!!')
entry.select_from(0) #从第1个字符开始
entry.select_to(7) #一直选择到第8个字符
entry.pack()

但也可以取消选中:

import tkinter
root = tkinter.Tk()
entry = tkinter.Entry(root)
entry.insert(tkinter.END,'Hello World!!!!')
entry.select_clear() #取消选中
entry.pack()

总结

上面就是输入框的主要内容啦。一起来复习一下:

属性 意义
fg或foreground 字体颜色
bg或background 背景颜色
selectforeground 被选中时候的字体颜色
selectbackground 被选中时候的背景颜色
font 字体,可以传入一个元组,也可以传入一个字符串
width 长度
cursor 光标放置在输入框上时的样式
state 输入框状态,如禁用(Disabled),正常(Normal)
relief 边框样式
bd或borderwidth 边框粗细
show 如何展示输入的内容
insertontime 光标显示的时间
insertofftime 光标被隐藏的时间
insertwidth 光标粗细
import tkinter
root = tkinter.Tk()

entry = tkinter.Entry(root) #创建一个输入框

entry = tkinter.Entry(root,fg="red",bg="blue",selectbackground="black",selectforeground="white") #正常时蓝底红字,被选中的内容黑底白字
entry = tkinter.Entry(root,font=("宋体",25,"italic")) #字体为宋体,字号25,斜体
entry = tkinter.Entry(root,font="宋体") #字体为宋体,默认字体大小,默认样式

entry1 = tkinter.Entry(root,width=50) #长度约为50个英文字母
entry2 = tkinter.Entry(root,width=20) #长度约为20个英文字母

entry = tkinter.Entry(root,cursor="crosshair") #光标放在输入框上后样式为十字准心

entry1 = tkinter.Entry(root,state=tkinter.DISABLED) #禁用,无法点击也无法往里面输入内容,也无法从中复制内容
entry2 = tkinter.Entry(root,state=tkinter.NORMAL) #可以进行操作
entry3 = tkinter.Entry(root,state="readonly") #只能复制内容,而不可以输入内容。tkinter模块中,没有tkinter.READONLY 这个变量,所有就用字符串代替吧

entry = tkinter.Entry(root,relief="groove") #不同边框样式的输入框
entry = tkinter.Entry(root,bd=20) #厚厚的一层边框

entry = tkinter.Entry(root,show="*") #将输入的内容显示为"*"
entry = tkinter.Entry(root,show="") #显示原来的内容

entry1 = tkinter.Entry(root,justify=tkinter.RIGHT) #靠右
entry2 = tkinter.Entry(root,justify=tkinter.LEFT) #靠左
entry3 = tkinter.Entry(root,justify=tkinter.CENTER) #居中

entry = tkinter.Entry(root,insertofftime=100,insertontime=1000) #输入的时候,每次光标闪烁,都显示1000毫秒(即1秒),隐藏100毫秒

entry1 = tkinter.Entry(root,insertwidth=1) #细细的光标,粗细为1
entry2 = tkinter.Entry(root,insertwidth=10) #粗细为10

entry.configure(font=("Consolas",50)) #将字体更换为Consolas,字号50,默认样式

entry.insert(tkinter.END,"Hello World!!!") #在输入框中文字的末尾添加字符串"Hello World!!!"
entry.delete(0,tkinter.END) #删除全部内容
entry.get() #获取输入框中的内容

entry.icursor(0) #将光标移动到第一个字符之前

entry.pack() #把输入框放到窗口上去

entry.select_from(0) #从第1个字符开始选择
entry.select_to(7) #一直选择到第8个字符

entry.select_clear() #取消选中

root.mainloop()

哈哈,谢谢您的阅读!点个赞,关注一下呗!我们下期再见~文章来源地址https://www.toymoban.com/news/detail-726158.html

到了这里,关于Python tkinter(4)输入框控件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python tkinter控件全集之组合选择框 ttk.ComboBox

    Tkinter是Python的标准GUI库,也是最常用的Python GUI库之一,提供了丰富的组件和功能,包括窗口、按钮、标签、文本框、列表框、滚动条、画布、菜单等,方便开发者进行图形界面的开发。Tkinter库基于Tk for Unix/Windows/macOS,由Tcl语言编写。使用Tkinter,可以快速创建桌面应用程序

    2024年02月04日
    浏览(40)
  • python版扫雷(基于tkinter),教你学python

    扫雷是一款相对简单好玩的小游戏,对于初学某种程序语言来说(特别是python),没有用一个项目来熟练自己所学的知识是很难过的去的。本次使用python语言去写一款居于python标准库模块tkinter的扫雷游戏,供python爱好者学习。 扫雷游戏规则与思路构建 tkinter标准模块 扫雷游戏暗

    2024年02月03日
    浏览(41)
  • Python tkinter库

    Tkinter模块是Python系统自带的标准GUI库,具有一套常用的图形组件 基本组件 Button 按钮 Canvas 画布,用于绘制直线、椭圆、多边形等各种图形 Checkbutton 复选框形式的按钮 Entry 单行文本框 Frame 框架,可作为其他组件的容器,常用来对组件进行分组Label 标 签,常用来显示单行文本

    2024年02月09日
    浏览(40)
  • 【Python应用】tkinter简介

    tkinter是Python自带的GUI库。 tkinter的全称是Tk Interface。 其中Tk是开发桌面应用的GUI工具库,它是Tcl的标准GUI,而Tcl全称Tool Command Language,是一种动态编程语言,可用于桌面应用开发。关于Tk和Tcl,可以在https://www.tcl.tk/查看到更多的内容,这里不多做介绍。 Tk和Tcl并不是Python的一

    2024年02月09日
    浏览(40)
  • Python GUI编程(Tkinter)

    Python 提供了多个图形开发界面的库,几个常用 Python GUI 库如下: Tkinter: Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 .Tk 和 Tkinter 可以在大多数的 Unix 平台下使用,同样可以应用在 Windows 和 Macintosh 系统里。Tk8.0 的后续版本可以实现本地窗口风格,并良好地运行在绝大

    2024年02月14日
    浏览(63)
  • python图形界面教程(tkinter)

    1、图形化界面设计的基本理解 当前流行的计算机桌面应用程序大多数为图形化用户界面(Graphic User Interface,GUI),即通过鼠标对菜单、按钮等图形化元素触发指令,并从标签、对话框等图型化显示容器中获取人机对话信息。 Python自带了tkinter 模块,实质上是一种流行的面向对象

    2024年02月16日
    浏览(47)
  • python tkinter显示图片教程

    今天,来给大家讲解一下python tkinter显示图片的方法 首先,我们需要导入tkinter、pillow中的两个包[pillow需要自己下载(pip install pillow)] 接着,创建窗口 然后就可以导入图片啦!!! 所有代码: 运行试试。。。  这就是运行结果(致敬XP(^^ゞ))

    2024年02月08日
    浏览(36)
  • Python tkinter 制作文章搜索软件

    今天,我无聊的时候做了一个搜索文章的软件,有没有更加的方便快捷不知道,好玩就行了。基于Python tkinter 制作文章搜索软件,都是一些基础的应用。🍖 🍗 🥩 代码 我们首先做到第一件事是导入模块。 代码 这段代码创建了一个名为 root 的Tkinter窗口对象,并设置了窗口的

    2023年04月08日
    浏览(45)
  • python:tkinter 生成 buttonBar 示例

    tk_test1.py 程序如下 运行 python tk_test1.py

    2024年02月01日
    浏览(25)
  • python tkinter 下拉框(Combobox)

    代码示例: 效果如下图所示:

    2024年02月15日
    浏览(39)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包