鱼C论坛

 找回密码
 立即注册
查看: 1509|回复: 1

为什么两段代码不同,显示结果却相同

[复制链接]
发表于 2023-8-31 16:07:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
from tkinter import *
root = Tk()
text = Text(root,width = 30,height = 30)
text.pack()
text.insert(INSERT,"high")
text.mark_set("here",1.2)
text.mark_gravity("here",LEFT)
text.insert("here","+++++++")
mainloop()





from tkinter import *
root = Tk()
text = Text(root,width = 30,height = 30)
text.pack()
text.insert(INSERT,"high")
text.mark_set("here",1.2)
text.mark_gravity("here",RIGHT)
text.insert("here","+++++++")
mainloop()


为什么两段代码不同(只是把LEFT改成了RIGHT),显示结果却相同



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-8-31 16:08:24 | 显示全部楼层
这两段代码之间的唯一区别是  text.mark_gravity("here",LEFT)  和  text.mark_gravity("here",RIGHT)  这一行代码中的参数。这个参数指定了插入文本的位置相对于标记的对齐方式。在这两个例子中,标记 "here" 的位置是在插入点之后 1.2 个字符处。

无论是将对齐方式设置为 LEFT 还是 RIGHT,结果都是相同的,因为插入点之前的文本是 "high",宽度不足以使插入点之后的文本 "+++++++" 显示在窗口的右侧。

当  text.mark_gravity("here",LEFT)  被调用时,文本 "+++++++" 被插入到插入点之后,并且被显示在窗口的左侧,因为它无法完全显示在窗口中。

当  text.mark_gravity("here",RIGHT)  被调用时,文本 "+++++++" 也被插入到插入点之后,并且被显示在窗口的左侧,因为它也无法完全显示在窗口中。

所以,尽管对齐方式不同,由于插入点之前的文本长度不足以使插入点之后的文本完全显示在窗口中,所以结果显示相同。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-13 16:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表