簡體   English   中英

將滾動條添加到Tkinter條目或文本小部件

[英]Addiong Scrollbar to Tkinter Entry or Text widgets

我很清楚可以將滾動條添加到“文本”小部件中。 但是我的問題是我希望它是只讀的。我唯一的方法是使state = DISABLED,但這將阻止我的文本,因此無法復制文本。 在Tkinter Entry小部件中,沒有yScroll行為。 知道我如何使這些東西起作用嗎? 任何幫助表示贊賞。

現在我正在使用此文本

`

root=Tk()   
 txt = Text(root, height=5, width=55)
 scr = Scrollbar(root)
 scr.config(command=txt.yview)
 txt.config(yscrollcommand=scr.set)
 txt.pack(side=LEFT)
 txt.insert(INSERT, "hello world\nhello world\n hello world\n hello world\n hello world\n     hello world\n hello world\n hello world\n hello world\n hello world\n")
 txt.insert(END,"\n")
 scr.pack(side="right", fill="y", expand=False)
 txt.pack(side="left", fill="both", expand=True)
 root.mainloop()

`

這樣做的問題是可以編輯文本。

您似乎無法復制已禁用小部件的文本的原因是,在某些平台上,已禁用小部件無法獲得焦點,因此選擇文本時需要聚焦。 您可以通過添加綁定將焦點設置在鼠標單擊上來糾正此問題。

將以下兩行添加到您的代碼中:

txt.configure(state="disabled")
txt.bind("<1>", lambda event: txt.focus_set())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM