我正在用 GTK+ 设计一个编辑器,并想添加一个 gedit 文本编辑器的功能来表示文本左侧的行号。我添加了一张gedit 图像,显示每行左侧的行号。我需要指导我应该使用哪个小部件以及如何使用它。
提前致谢 :).. !
我正在用 GTK+ 设计一个编辑器,并想添加一个 gedit 文本编辑器的功能来表示文本左侧的行号。我添加了一张gedit 图像,显示每行左侧的行号。我需要指导我应该使用哪个小部件以及如何使用它。
提前致谢 :).. !
要获取行号,请使用GtkSourceView
而不是GtkTextView
.
它是一个名为 geditview 的对象,您可以查看http://code.ohloh.net/file?fid=UbTA_LHqUuoYhNCUyaNFsy91ZqQ&cid=vmd9QnPTRes&s=&browser=Default#L545
geany 还使用名为 Scintilla 的对象实现行号
在 textview 你可以试试这个。self.textview.get_iter_at_location(x, y).get_line()
记录在这里http://www.pygtk.org/pygtk2tutorial/sec-TextIters.html。
x, y 位置可以使用以下代码获得:
x, y = self.textview.get_pointer()
x, y = self.textview.window_to_buffer_coords(gtk.TEXT_WINDOW_WIDGET, x, y)