Python的GUI选择——tkinter(中)

文章介绍了Tkinter库中用于创建GUI的grid布局方法,强调了其相对于pack方法的优势。还讲解了Entry输入框的使用,包括validatecommand验证功能。此外,讨论了Listbox组件和Scrollbars的配合,以及Text组件的运用,包括插入文本和添加按钮。最后提到了Tag方法,用于Text组件内文字的修饰。
摘要由CSDN通过智能技术生成

上文:Python的GUI选择——tkiner(上)
https://blog.csdn.net/EchoToMe/article/details/128875634?spm=1001.2014.3001.5501

我的框架放哪里?——pack&grid方法

在tkinter模块中,pack和grid方法都是对我们形成好的一个框架进行放置
由于pack方法在前文已经进行介绍了,所以这里着重介绍grid方法,其实grid方法比pack方法的用处更大
如果说在tkinter所有放置方法中只能选择一个进行学习,那么我会建议学习grid方法

先简单介绍一下grid方法的常见的几个参数:
注意这里默认行和列为0的地方在页面的左上角

参数名字作用
row表示这个框架所在的行
column表示这个框架所在的列
padx距离x轴的距离
pady距离y轴的距离
在这里可以简单的用代码做一个小演示:
from tkinter import *
root = Tk()
b1 = Button(root,text="点赞").grid(row=0,column=0)
b2 = Button(root,text="关注").grid(row=1,column=0)
mainloop()

代码的成果如下:
在这里插入图片描述

DIY输入——Entry方法

这个方法是用来生成一个输入框的,可以在屏幕上进行输入,类似于下面这个截图:
在这里插入图片描述
下面是常见的Entry的参数:

参数名称作用
textvariable存储输入的内容
show输入后我们看到的样子
validatecommand满足validatecommand调用的函数
validate特殊的指令

下面我们用简单的代码进行演示:

from tkinter import *
root = Tk()

def callback():
    print("hi")

e1 = Entry(root,validate="focusout",validatecommand=callback).pack()
mainloop()

在这里插入图片描述
当我们的焦点移出了这个组件的时候,我们就会发现在IDLE的执行模块上打印了一个hi

这里有的朋友就会问了,什么叫做焦点?

焦点

在tkinter中,焦点所在的位置表示自己可以控制的那个文本框,例如如果有上下两个Entry对象,当我们在对第一个Entry对象输入的时候,焦点就会在第一个Entry,我们可以用键盘的Tab键来转移焦点到第二个Entry窗口

Button的好兄弟——Listbox方法

Listbox方法和Button的多选方法是非常相似的,但是它作为一个直接的方法会更加的直接
下面先简单介绍一下常用的几个参数:

参数名称参数作用
height选项框最多可以放下多少行
x/yscrollcommand在x/y轴上形成一个滚动条

注意:在调用x/yscrollcommand的参数的时候,需要利用到一个Scrollbar的对象
这个对象是我们的主体滚动条,所以在代码的结尾还要对这个对象进行config修饰
下面我们结合简单的代码进行讲解:

from tkinter import *
root = Tk()
s = Scrollbar(root)
s.pack()
listbox = Listbox(root,yscrollcommand=s.set)
for i in range(10):
    listbox.insert(END,i)
listbox.pack()
s.config(command=listbox.yview)
mainloop()

文字书写——Text方法

这个方法可以在界面上形成一个文本框,这个文本框不仅仅可以让用户输入字,还可以进行各种插件的补充

先对Text方法的常见参数:

参数名词参数作用
width表示文本框中每一行最多输入多少个字符
height表示文本框中最多有多少行

Text方法的子方法:
text.insert方法,这个方法可以在用户输入前自动在文本框中生成
例如:text.insert(INSERT,“I love \n”) 其中第一个INSERT参数表示的是光标所在的位置

Text方法中组件的插入:

按钮组件的插入

需要注意的是按钮插件的插入的时候,Button的root参数不可以传入Tk实例化好的参数,而是一个Text对象
下面用简单的代码来演示:

from tkinter import *
root = Tk()
text = Text(root,width=30,height=10)
text.pack()
def callback():
    print("hi")
b = Button(text,text="赞",command=callback)
b.pack()
text.window_create(INSERT,window=b)
mainloop()

Text方法的伴生伙伴——Tag方法

Tag方法是针对Text方法中输入的文字的一个子方法,主要是用来修改和修饰Text方法中的文字

首先先认识Tag方法对Text方法中每一个字符的表示方法,利用的是A.B的一个表示方法,A表示行,B表示列

这个方法有很多子方法,下面对常见的子方法进行介绍:

tag_config()方法

这个方法可以直接对Text组件中的文字进行修改
多说无妨,直接用简单的代码进行演示:

text.tag_config("tag1",background="yellow",foreground="red")

这个地方的background方法是修改文字的背景色,foreground表示的是文字的字体颜色

tag_add()方法

对于这个方法的第一个参数是需要被tag_config修改的tag名字,后面的数字参数两两配对表示Text中被修改的范围

text.tag_add("tag1","1.7","1.12","1.14")
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值