![](/img/trans.png)
[英]Tkinter: How do I hide text as if with a password with a Text (not Entry) widget?
[英]Hide Text Cursor in Tkinter Entry
所以我正在使用 Tkinter 條目,我想知道是否有辦法在條目中隱藏文本 cursor。 這只是我創建的一個示例條目(現在看起來很可怕):
此條目中的文本 cursor 非常清晰可見,即使我單擊屏幕上的其他位置,它也會繼續閃爍。 有沒有辦法手動隱藏 Tkinter 中的 cursor? 我無法找到有關該主題的任何文章,所以這甚至可能嗎?
以下是在 tkinter 中創建條目的代碼:
from tkinter import *
top = Tk()
E1 = Entry(top, bd=5)
E1.pack(side=RIGHT)
E1.focus_set()
top.mainloop()
所以這會引發同樣的問題,我如何隱藏文本 cursor? 這段代碼也沒有 output 我給出的圖像,因為它是用 goopylib 制作的,goopylib 是我在 Tkinter 之上制作的圖形框架。 因此,對於整個代碼,您可以看到https://github.com/BhavyeMathur/goopylib/blob/master/goopylib/objects/Entry.py這是我使用的程序:
from goopylib.imports import *
window = GraphWin("Test Window", width=110, height=110)
Entry(Point(55, 55), text_width=10).draw(window)
while True:
update(24)
要運行此代碼,您需要安裝 goopylib,您可以使用:
pip install goopylib
當小部件具有焦點時,cursor 可見,這對於用戶在小部件中鍵入時很重要。
如果您不想要 cursor,記錄的方法是將 state 設置為“只讀”。 從規范文檔中:
如果該條目是只讀的,那么即使輸入焦點在小部件中,也不能使用小部件命令更改該值並且不會插入 cursor 將顯示; 小部件的內容仍可能被選中。
問題也可能只是當您單擊某處時,“其他地方”並非旨在獲取鍵盤焦點。 如果您調整綁定以使您單擊的內容獲得焦點,則焦點將從條目小部件中移除,並且 cursor 將被隱藏,直到焦點恢復。
例如,如果您要在 canvas 上創建項目,則可以創建綁定以在單擊時將焦點移動到 canvas:
the_canvas.bind("<1>", lambda event: event.widget.focus_set())
當您單擊 canvas 時,焦點將移至 canvas 並遠離條目,因此條目將不再顯示 cursor。
要在輸入框(稱為插入光標)上隱藏 cursor,我們可以使用輸入框的參數,例如:
Entry(top,insertontime=0,bd=5)
使用E1.focus_set()
將在應用程序開始時將焦點設置到輸入框,除非您單擊離開。
隱藏Entry Widget的Blinking Cursor,非常簡單。
Entry(root,
insertontime=0,
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.