gtk.TextView에 특정 하위 문자열의 "선택"을 표시하려면 단어 주위에 테두리를 그려야합니다. 지금까지 찾은 TextView에서 텍스트를 표시하는 유일한 방법은 수정 된 속성 이있는 TextTags를 배치하는 것입니다. 이것은 국경을 그릴 수있는 방법을 제공하지 않는 것 같지만, GTK가이 것을 지원합니까? 아니면 ONYT PYGTK가이 문제입니까?gtk.TextView에 선 그리기
답변
나는 텍스트 뷰를 그리는 방법을 찾았습니다 !!!
시작하려면 gtk.TextView에 대한 참조가 뷰어라는 변수에 있다고 가정하십시오. ur 클래스 중 하나 또한 draw 함수는 expose-event라는 이벤트와 함께 호출되어야합니다. 그렇지 않으면 드로잉이 새로 고쳐집니다 그리고 u는 gtk.TextView에 표시하는 도면의 경우
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.gdk.windows의 7 종류의 gtk.TextView으로 구성되어 화면에 유지되지 않습니다 그리기해야합니다 gtk.TEXT_WINDOW_TEXT
예제 코드가 같은 gtk.TextBuffer
태그에서
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
아래 그림은 하나 이상의 사전 정의 된 텍스트 속성을 설정하는 데 사용됩니다. 하위 클래스를 지정하지 않으면이 속성은 gtk.TextTag
의 속성으로 제한되며 테두리 또는 개요 속성과 비슷한 내용은 포함되지 않습니다. 이와 관련하여 PyGTK와 일반 GTK +에는 차이점이 없습니다.
다소 해키, 당신이 원하는 일을 할 수있는 가장 쉬운 방법은, 당신의 gtk.TextView
의 expose-event
에 연결하여 문자열의 좌표를 얻고 노출에서 제공되는 이벤트의 gdk.Window
인 event.window
에 그리는 동안 콜백.
(gtk.TEXT_WINDOW_TEXT 윈도우를 가져와 저장할 필요가 없다는 점에 유의하십시오. 콜백에서 노출 이벤트가 어떤 윈도우인지 확인하고, 텍스트 윈도우가 아닌 경우 노출을 무시하면됩니다.)
대신 TextBuffer/TextView/TextTag 중 하나 이상을 서브 클래스로 지정하여 border
태그를 추가 할 수는 있지만 합리적인지 여부는 또 다른 질문입니다.
- 1. Winforms에서 선 그리기
- 2. 선 그리기 루틴
- 3. PDFBox로 투명 선 그리기
- 4. 크리스탈 보고서에 선 그리기
- 5. iPhone 그리기 선 두께
- 6. 캔버스에 2D 선 그리기
- 7. 선 그리기 효과
- 8. 캔버스에 선 그리기
- 9. N 너비 선 그리기?
- 10. 평면에 선 그리기 알고리즘
- 11. 차단 실행없이 선 그리기
- 12. 그라디언트 색상으로 선 그리기
- 13. UIViewController를 통해 선 그리기
- 14. iPhone/iPad에서 선 그리기
- 15. OpenGL : VBO로 선 그리기
- 16. UIView 하위보기에서 선 그리기
- 17. 선 그리기 알고리즘
- 18. WPF에서 3D 선 그리기
- 19. 선 그리기 (Quartz 2D?)
- 20. Monotouch UIImage에서 선 그리기
- 21. GWT에서 선 그래프 그리기?
- 22. ncurses의 선 그리기
- 23. 애니메이션에 선 그리기
- 24. Android 캔버스 그리기 선 - 두꺼운 선 만들기
- 25. 태블릿 입력에서 매끄러운 선 그리기
- 26. svg 이미지 위에 선 그리기
- 27. 두 점 사이에 선 그리기
- 28. UIScrollView에서 이미지 및 선 그리기
- 29. 코어 그래픽 - 각도로 선 그리기
- 30. OpenGL에서 3D 모양의 선 그리기
위의 코드는 약간의 사소한 문제점이 있지만, 나에게도 도움이되었습니다. 저는 '배경'에 줄이 그어져 있지 않습니다. 참조 : http://code.google.com/p/key-train/source/browse/keytrain_textview.py –