2013-02-13 61 views
7

我想獲得以省略號...開頭的條目。如何在處於「只讀」狀態的Entry小部件中插入字符串?

這裏曾是我的代碼:

e = Entry(rootWin, width=60, state="readonly") 
e.insert(0, "...") 

我認爲錯誤發生,因爲我想以後該對象已被列爲只讀插入文本。

如何插入一個字符串在"readonly"狀態的Tkinter Entry小部件中?

+0

可能的重複http://stackoverflow.com/questions/3842155/ – Piccolo 2013-02-13 05:54:52

+1

我需要使用Entry對象,而不是Text對象,因爲文本對象沒有隻讀狀態。 – sixglazed 2013-02-13 06:00:59

回答

6

這似乎爲我工作:

import Tkinter as tk 

r = tk.Tk() 

e = tk.Entry(r,width=60) 
e.insert(0,'...') 
e.configure(state='readonly') 
e.grid(row=0,column=0) 

r.mainloop() 
5

使用-textvariable項的選項:

eText = StringVar() 
e = Entry(rootWin, width=60, state="readonly",textvariable=eText) 
.... 
eText.set("...I'm not inserted, I've just appeared out of nothing.") 
6

解決方法很簡單:國家臨時設置爲正常,插入文本,然後設置它被禁用。

+0

醜陋但真實。我試圖在禁用狀態下設置文本,或只讀。兩者都不可能。它必須處於正常狀態。安東的回答消除了來回切換的這種麻煩,但是從另一個角度來看,你需要各種代理。 – BuvinJ 2016-02-02 23:00:10

相關問題