gpt4 book ai didi

python - 如果文本改变了 the 的大小并且 widget 改变了大小

转载 作者:太空宇宙 更新时间:2023-11-04 04:40:34 27 4
gpt4 key购买 nike

First attempt . 在这里您可以看到字体如何改变大小和文本小部件如何改变大小。我需要文本小部件来保持其大小。我试图在框架中创建一个文本小部件并制作 frm.grid_propagate (False)。您在 second attempt 中看到的结果.在第二次尝试中,小部件现在只能减少,不能增加。但是当字体大时,文本打印在文本小部件边框之外并且不可见

from tkinter import*
import tkinter as tk
def fontUp():
global count
if text.tag_ranges('sel'):
text.tag_add('colortag_' + str(count), SEL_FIRST,SEL_LAST)
text.tag_configure('colortag_' + str(count),font='Area 35')
count+=1
else:
text.configure(font='Area 30')

count=0
root = tk.Tk()
root.geometry("800x800")

frm = tk.Frame(root, height = 300, width = 500)
frm.grid(row = 0, column = 0)
frm.grid_propagate(False)

text = tk.Text(frm, height = 20, width = 50)
text.grid(row = 0, column = 0)

btn = tk.Button(root, text="Font bigger", command = fontUp)
btn.grid(row = 2, column = 0)

此代码与我的 second attempt 有相同的错误.

当我们点击按钮时,文字会变大,小部件也会变大。但我有一个“fontUp”功能,它只会增加所选文本。该功能的工作方式如下:首先选择文本,然后单击按钮,文本增加但小部件不增加是我需要的。如何让文字改变大小,而小部件不改变大小

最佳答案

对我来说,最好的解决方案是将小部件大小设置为 0 或 1,然后让几何管理使窗口增大或缩小以适合包含框架。这是可行的,因为字体更改只影响窗口的所需大小而不是实际大小,并且所需大小基于宽度和高度。实际大小由包含框架控制。

在下面的示例中,我使用 pack 作为文本小部件。它也适用于 grid,但需要额外的几行代码来赋予行和列权重。由于文本小部件是包含框架中的唯一小部件,因此 pack 更易于使用。

frm = tk.Frame(root, height = 300, width = 500)
frm.grid(row = 0, column = 0)
frm.pack_propagate(False)

text = tk.Text(frm, height = 0, width = 0)
text.pack(fill="both", expand=True)

关于python - 如果文本改变了 the 的大小并且 widget 改变了大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50745781/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com