创建后如何更改 ttkbootstrap ScrolledText 小部件的状态?

问题描述 投票:0回答:1

问题

我正在尝试在创建后更改

ScrolledText
ttkboostrap 小部件的状态。我可以在创建它时随意设置其状态,但在创建后尝试更改它会失败,并显示以下两个示例,并显示错误消息:
_tkinter.TclError: unknown option "-state"

问题

创建后如何更改状态?

最小代表次数

import ttkbootstrap as ttk
from ttkbootstrap.scrolled import ScrolledText

app = ttk.Window()

# scrolled text with autohide vertical scrollbar
st = ScrolledText(
    app,
    padding=5,
    height=10,
    autohide=True,
    # Both of these work
    state='normal'
    # state='disabled'
)
st.pack(fill='both', expand=True)

# add text
st.insert('end', 'Insert your text here.')

# Neither of these work
st.config(state='disabled')
st.configure(state='disabled')

app.mainloop()
python tkinter state ttk ttkbootstrap
1个回答
0
投票

解决方案

正如@jasonharper 所指出的,

ScrolledText
小部件只是文本输入和滚动条的组合“容器”。要更改 Text 元素的状态,必须像这样直接访问它:

st.text.config(state=...)  # st is a ScrolledText object
© www.soinside.com 2019 - 2024. All rights reserved.