python文本输入框宽度_python – Tkinter将文本大小调整为内容

我能想到实现这一目标的唯一方法是每次用户在Text小部件中输入文本时计算宽度和高度,然后将小部件的大小设置为.但这里的限制是只有单倍间距的字体才能正常工作,但无论如何它仍然是:

import Tkinter

class TkExample(Tkinter.Frame):

def __init__(self, parent):

Tkinter.Frame.__init__(self, parent)

self.init_ui()

def init_ui(self):

self.pack()

text_box = Tkinter.Text(self)

text_box.pack()

text_box.bind("", self.update_size)

def update_size(self, event):

widget_width = 0

widget_height = float(event.widget.index(Tkinter.END))

for line in event.widget.get("1.0", Tkinter.END).split("\n"):

if len(line) > widget_width:

widget_width = len(line)+1

event.widget.config(width=widget_width, height=widget_height)

if __name__ == '__main__':

root = Tkinter.Tk()

TkExample(root)

root.mainloop()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值