我有一個gtk.TextView(),每當用戶放入文本並打回車時,我想要在終端中打印文本並刪除文本區域中的所有內容,光標在textview的開頭。我想:Pygtk TextView開始設置光標
self.textbuffer.set_text("")
或:
start, end = self.textbuffer.get_bounds()
self.textbuffer.delete(start, end)
但是這兩個代碼,即使他們刪除在文本區域中,他們不把光標移回第一行,而是它在第二行。如果我輸入更多文本並返回,它總是停留在第二行,我不知道原因。
嗯,我沒能做到這一點,所以我用了一招暫時,那就是:
self.textview = gtk.TextView()
self.textbuffer = self.textview.get_buffer()
self.textview.connect("key_press_event", self.on_key_press_event)
和我self.on_key_press_event:
def on_key_press_event(self,widget, event):
keyname = gtk.gdk.keyval_name(event.keyval)
if keyname == "Return":
self.textbuffer = self.textview.get_buffer()
startiter, enditer = self.textbuffer.get_bounds()
print self.textbuffer.get_text(startiter, enditer)
self.textview.destroy()
self.textview=gtk.TextView()
self.sw.add(self.textview)
self.textview.show()
self.textview.grab_focus()
self.textview.connect("key_press_event", self.on_key_press_event)
所以每次用戶點擊返回我從我的gtk.ScrolledWindow刪除textview,摧毀它,創建一個新的,並再次將其添加到我的gtk.ScrolledWindow,它的工作原理,但它真的很髒...
任何想法如何我c使這個工作沒有那麼髒的代碼?
由於提前,
Nolhian
在我的帖子開頭有個大家好,但我不知道爲什麼它不會出現,我試着編輯我的帖子8次,但無論是單獨你好還是你好,大家都會被刪除:( – Nolhian
這是因爲這個不是一個論壇,更像是一個維基,有人可能隨時編輯你的問題,這使得很難把一個問題想象成一個人的信息,所以,敬酒是不鼓勵的。 COM /問題/ 2950 /應喜感謝,標語和 - 稱呼被移除,從根柱子 – ptomato