将行号转换为其对应的坐标

发布于 2024-08-19 08:08:15 字数 69 浏览 3 评论 0原文

我有一个用 PyGtk 编写的应用程序。我需要将特定的行号转换为 GtkTextView 中相应的窗口坐标。这怎么能做到呢?

I have a application written in PyGtk. I need to convert a particular line number into its corresponding window co-ordinates in a GtkTextView. How can this be done?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

方圜几里 2024-08-26 08:08:15

首先使用 gtk_text_buffer_get_iter_at_line() 获取线路句柄。然后使用 gtk_text_view_get_line_yrange () 将其转换为像素坐标。最后使用 gtk_text_view_buffer_to_window_coords() 将缓冲区像素坐标转换为窗口坐标。

这些是 C API 调用的链接,但转换为 PyGtk 应该很简单。

Begin by using gtk_text_buffer_get_iter_at_line() to get a handle on the line. Then use gtk_text_view_get_line_yrange() to convert that into pixel coordinates. Finally use gtk_text_view_buffer_to_window_coords() to convert the buffer pixel coordinates into window coordinates.

These are links to the C API calls, but converting to PyGtk should be trivial.

吐个泡泡 2024-08-26 08:08:15

一般情况下是做不到的。如果您正在谈论 pygtk 程序的一行,那么您的 IDE(开发环境)需要一个 API 来找出当前在屏幕上显示的特定源代码行(如果有)。如果“行号”指的是其他内容,那么正如伊格纳西奥所说,您将需要提供更多详细信息。

It can't be done, in general. If you're talking about a line of your pygtk program, then you would need an API for your IDE (development environment) to find out where a particular source code line is currently displayed on the screen, if anywhere. If by "line number" you mean something else, then as Ignacio says, you'll need to provide a lot more detail.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文