2014-02-21 31 views
0

如何禁用tkinter條目字段上的複製和粘貼操作。我試過用:禁用Tkinter條目的複製/粘貼操作

self.ent_city = Tkinter.Entry(bd='4',width='32', state='readonly') 

但是這個命令跟state = 'disabled'差不多。我想要禁用複製/粘貼或剪切/粘貼在我的條目窗口小部件上。

任何幫助,將不勝感激。 在此先感謝

+0

我相當肯定,使用'Entry'小部件是不可能的,因爲'Entry'小部件的全部要點就是你在其中輸入了某些東西 - 因此,不可能將切割/複製/粘貼到本小部件的本地化。 –

回答

4

可以綁定按鍵將與鼠標右鍵點擊鏈接這樣的:

from Tkinter import * 

class App(Frame): 
    def __init__(self): 
     Frame.__init__(self) 
     self.pack() 
     self.ent = Entry(self, width=15) 
     self.ent.pack() 

     self.ent.bind('<Control-x>', lambda e: 'break') #disable cut 
     self.ent.bind('<Control-c>', lambda e: 'break') #disable copy 
     self.ent.bind('<Control-v>', lambda e: 'break') #disable paste 
     self.ent.bind('<Button-3>', lambda e: 'break') #disable right-click 

root = Tk() 
app = App() 
mainloop() 

它不是傻瓜證明,但我認爲這是一個不錯的解決方案。檢查http://effbot.org/tkinterbook/tkinter-events-and-bindings.htm瞭解更多信息。