gpt4 book ai didi

python - 无法阻止标签扩展主窗口

转载 作者:行者123 更新时间:2023-11-28 21:31:17 27 4
gpt4 key购买 nike

示例

(模仿我真实代码中布局的相关部分)

import Tkinter as tk
import ttk

# set up root
root = tk.Tk()
root.minsize(300, 50)
frame = ttk.Frame(root)
frame.grid(row=0, column=0, sticky=tk.EW)

# set up buttons that insert a short or a long string
textvar = tk.StringVar(value='foo')

def insert_short():
textvar.set('foo')

def insert_long():
textvar.set('foo'*30)

button_short = ttk.Button(frame, text='short', command=insert_short)
button_short.grid(row=0, column=0)
button_long = ttk.Button(frame, text='long', command=insert_long)
button_short.grid(row=0, column=0)
button_long.grid(row=0, column=1)

# set up label

# border for label to see its size
style = ttk.Style()
style.configure(
'Bordered.TLabel', foreground='black', borderwidth=1, relief='solid')

# make label extend to the right
frame.columnconfigure(2, weight=1)

# place label
label = ttk.Label(frame, textvariable=textvar, style='Bordered.TLabel')
label.grid(row=0, column=2, sticky=tk.EW)

# place some other widget under label to mimic my real code
ttk.Button(frame, text='some other widget').grid(row=1, column=2)

# TRIED, NOT WORKING:
#root.resizable(False, False)
#frame.propagate(False)
#frame.grid_propagate(False)
#label.propagate(False)
#label.grid_propagate(False)

root.mainloop()

输出

问题

如何防止 label 扩展主窗口?

(奖金问题,但不重要:如果标签太长,是否有办法使标签可滚动?)

尝试

我尝试了以下命令:

root.resizable(False, False)
frame.propagate(False)
frame.grid_propagate(False)
label.propagate(False)
label.grid_propagate(False)

最佳答案

您可以在只读状态下使用 Entry 创建一个可滚动的标签,并且通过使用滚动它会阻止小部件扩展主窗口。

尝试用以下代码替换您的标签定义:

child_frm = ttk.Frame(frame)
label = ttk.Entry(child_frm, textvariable=textvar, style='Bordered.TLabel', state='readonly')
scroll = ttk.Scrollbar(child_frm, orient='horizontal', command=label.xview)
label.config(xscrollcommand=scroll.set)
label.grid(row=0, sticky=tk.EW)
scroll.grid(row=1, sticky=tk.EW)
child_frm.grid(row=0, column=2)

关于python - 无法阻止标签扩展主窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58542061/

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