PyGTK에서 커서가 앱의 텍스트 뷰 내에서 이동할 때마다 커서의 현재 위치를 가져 오려고합니다. 그래서 콜백 함수를 만들고 신호에 연결해야합니다. 하지만 그 신호를 어디에서 얻을지 확신 할 수 없습니다.커서 위치가 텍스트 뷰에서 변경되었습니다
1
A
답변
1
버퍼의 커서 위치 속성을 모니터링하려면 커서 위치를 모니터링하는 아래의 예제를 살펴보십시오.
from gi.repository import Gtk
class CursorSample(Gtk.Application):
def __init__(self):
Gtk.Application.__init__(self, application_id="org.app.CursorSample")
self.buffer = Gtk.TextBuffer()
self.buffer.connect("notify::cursor-position",
self.on_cursor_position_changed)
self.tw = Gtk.TextView()
self.tw.set_buffer(self.buffer)
self.tw.props.wrap_mode = Gtk.WrapMode.CHAR
def do_activate(self):
main_window = Gtk.Window(Gtk.WindowType.TOPLEVEL)
main_window.add(self.tw)
self.add_window(main_window)
main_window.set_position(Gtk.WindowPosition.CENTER)
main_window.show_all()
def on_cursor_position_changed(self, buffer, data=None):
print buffer.props.cursor_position
if __name__ == "__main__":
cursorsample = CursorSample()
cursorsample.run(None)
** GTK 3의 Pygtk ** –