我試圖通過在單詞周圍繪製邊框來顯示 gtk.TextView中某個子字符串的「選擇」。在我目前發現的TextView中標記 文本的唯一方法是將TextTags與 修改的屬性一起放置。這似乎沒有提供一種方式來繪製邊框,但是,GTK支持這個問題還是這個問題與ONLT PYGTK在gtk.TextView上繪製線條
0
A
回答
1
我想出瞭如何在文本視圖上畫!
開始於讓我們假設對你的gtk.TextView的引用位於一個名爲viewer的變量中,在你的類之一中 另外,draw函數必須用名爲expose-event的事件調用,否則圖形將被刷新並不會停留在屏幕
接下來的部分是gtk.TextView由7種gtk.gdk.windows的對其中U可以得出
gtk.TEXT_WINDOW_WIDGET
gtk.TEXT_WINDOW_TEXT
gtk.TEXT_WINDOW_LEFT - not displayed by default
gtk.TEXT_WINDOW_RIGHT - not displayed by default
gtk.TEXT_WINDOW_TOP - not displayed by default
gtk.TEXT_WINDOW_BOTTOM
gtk.TEXT_WINDOW_PRIVATE
爲了使圖出現在gtk.TextView上我們必須借鑑gtk.TEXT_WINDOW_TEXT
的示例代碼如下所示
if(viewer!=None):
viewer.connect("expose-event", expose_view)
self.drawable=viewer.get_window(gtk.TEXT_WINDOW_TEXT)
def expose_view(self,window,event):
if(self.drawable!=None):
self.drawable.draw_line(self.drawable.new_gc(),1,1,30,30)
# (1,1) and (30,30) are the coordinates and u can give the values accordingly
0
在gtk.TextBuffer
代碼用於設置一個或多個預定義的文本屬性。沒有子類別,這僅限於gtk.TextTag
的屬性,並且不包含類似於邊框或大綱屬性的任何內容。 PyGTK和普通GTK +在這方面沒有區別。
雖然有點哈克,做你想要做什麼,最簡單的方法是連接到您的gtk.TextView
的expose-event
,讓您的字符串的座標,並借鑑event.window
,這是在公開提供該事件的gdk.Window
回電話。 (請注意,您不必獲取並存儲gtk.TEXT_WINDOW_TEXT窗口,您只需要檢查回調中顯示事件的窗口,如果它不是用於文本窗口,則可能忽略暴露。 )
相反,您大概可以繼承TextBuffer/TextView/TextTag中的一個或多個以添加border
標記,但是否這樣做是合理的是另一個問題。
相關問題
- 1. 在DrawingFrame上繪製線條與外線
- 2. 在窗體上繪製線條網格
- 3. 在QtWidget上動態繪製線條
- 4. 在iPhone的UITextView上繪製直線條
- 5. 在拍攝圖像上繪製線條
- 6. Windowsforms:如何在DataGridView上繪製線條?
- 7. 用PyQt在圖像上繪製線條
- 8. 在x軸上繪製多條線Highcharts
- 9. 在c#圖上繪製一條線
- 10. 如何在圖表上繪製線條?
- 11. 在Android上的TextView下繪製線條
- 12. 如何在iPad上繪製線條圖?
- 13. 未在Google地圖上繪製線條
- 14. 在Android上使用surfaceView繪製線條
- 15. 在地圖上繪製一條線
- 16. MoniTouch在UIImage上繪製線條
- 17. 繪製直線的線條
- 18. 繪製上述條形圖線
- 19. 上面繪製一條線/下面plotyy
- 20. 將矢量繪製到一條線上
- 21. 如何在圖像上繪製線條/繪畫?
- 22. 在JPanel上繪製線條而不重繪
- 23. 用邊框線在QPixmap上繪製線條
- 24. 使用CGContext繪製線條
- 25. 使用UIPinchGeustureRecognizer繪製線條
- 26. OpenGL線條繪製工件
- 27. 用UIBezierPath繪製一條線
- 28. OpenGL:用VBO繪製線條
- 29. 用GLSL繪製線條
- 30. 線條繪製算法
雖然上面的代碼有一些小問題,但它也適用於我。我不是在'背景'上繪製線條(如橫格紙)。 請參閱:http://code.google.com/p/key-train/source/browse/keytrain_textview.py – 2010-01-13 15:58:54