`

【GTK】如何得到控件的位置

 
阅读更多

不同的情况对应有不同的解决的办法.

如果你想得到一个控件相对于它的父窗口的位置,你需要使用widget->allocation.x 和 widget->allocation.y.

如果你想的到一个窗口相对于X主窗口(X root window)的位置,

你应该使用gdk_window_get_geometry()

gdk_window_get_position()

或者gdk_window_get_origin().

如果你想得到一个窗口(包括WM修饰的窗口)的位置,应该使用gdk_window_get_root_origin().

最后但不是不重要,如果你想得到窗口管理器的位置,你应该使用gdk_window_get_deskrelative_origin().

你选择的窗口管理器(Window Manager)将可能影响上面函数的结果,在写你的程序的时候,你应该记住这一点.这主要是决定于窗口管理器如何管理对窗口添加的修饰.

分享到:
评论

相关推荐

    GTK常用控件:图片控件源代码

    在GTK中,图片控件是用于显示图像的重要组件,它允许开发者将静态图片或者动态图像(如动画GIF)集成到应用程序中。本教程主要探讨GTK中的图片控件`GtkImage`及其使用方法。 `GtkImage`控件是GTK+库中的一个基本...

    gtk+2.0 原版手册

    每个控件的属性、方法和事件都会得到详尽的解释,以便开发者能够熟练地在自己的程序中运用它们。 除了基本控件,GTK+2.0还提供了一些高级组件,例如文件选择对话框(GtkFileChooser)、进度条(GtkProgressBar)和...

    GTK+2.0编程范例.rar

    GTK+2.0编程范例.pdf 是一个关于GTK+2.0框架的详细教程,它主要面向初学者,旨在帮助开发者掌握GTK+的基础知识,从而...通过这个教程,读者不仅可以理解GTK+的工作原理,还能获得实践技能,开发出自己的GTK+应用程序。

    linux gtk编程教程(带例子代码)

    Linux GTK编程教程主要针对的是那些想要在Linux平台上开发图形用户界面(GUI)应用程序的初学...通过阅读PPT和实践代码,学生不仅能理解GTK的工作原理,还能获得实际编码的经验,从而在Linux GUI开发领域打下坚实基础。

    GTK实现数字表显示

    总的来说,"GTK实现数字表显示"项目是一个基础的GUI编程练习,涉及到GTK库的使用,包括窗口创建、控件布局、事件处理、时间获取和更新显示。对于想要学习GTK编程的初学者,这是一个很好的起点,可以从这个简单示例...

    gtk+-1.2.4.tar.gz

    在解压“gtk+-1.2.4.tar.gz”后,你会得到一个名为“gtk+-1.2.4”的目录,其中包含以下主要内容: 1. **源代码文件**:在这个目录下,源代码通常分布在多个子目录中,如`src`,这些文件包含了GTK+库的实现。开发者...

    gtk+ gnome 开发

    对于初学者而言,作者建议阅读GTK+教程或Eric Harlow所著的《使用GTK+和GDK开发Linux应用程序》,以获得更加温和的学习体验。 #### Gnome是什么? Gnome是一个始于1997年的开源软件开发项目,由墨西哥国立自治大学...

    gtk+ for windows with vs2008

    - **丰富的控件和API**:GTK+提供大量的预定义控件,如按钮、文本框、菜单等,以及用于自定义用户界面的丰富API。 - **可视化设计工具**:如Glade,可以帮助开发者通过图形化界面设计UI布局,然后自动生成XML界面...

    gtk+-bundle_3.10.4-20131202_win64

    为了获得最新的功能和更好的兼容性,开发者可能需要考虑更新到更高版本的GTK+。 总的来说,GTK+作为一款强大的GUI工具包,为Windows、Linux、macOS等多种操作系统上的应用程序开发提供了强大支持。通过“gtk+-...

    GTK+开发Linux图形用户手册

    5. **样式和主题**:讲解如何自定义控件的外观,使用CSS为GTK+应用创建独特的视觉风格。 6. **国际化与本地化**:解释如何使GTK+应用程序支持多语言,以便在全球范围内使用。 7. **高级特性**:涵盖图像处理、打印...

    gtk+ 2.0中文教程(html).zip

    4. **样式和主题**:GTK+ 2.0支持主题引擎,允许开发者自定义控件的外观,同时理解如何应用和创建新的主题。 5. **对话框和菜单**:介绍如何创建和使用对话框(如打开文件对话框)、菜单栏和上下文菜单,以增强用户...

    gtk2.16.5.tar.gz_gtk2.16.5.tar.gz_gtk5代码

    在从"gtk2.16.5.tar.gz"压缩包解压后,你会得到名为"gtk+-2.16.5"的目录,其中包含所有必要的源代码文件、文档、示例程序和构建脚本。开发者可以通过这些文件构建GTK库,并对其进行调试和修改。通常,构建过程涉及...

    linux 操作系统 GTK /proc文件 系统监视器

    在开发这样的系统监视器时,开发者需要编写代码来定时读取上述`/proc`文件,解析其中的数据,并通过GTK提供的控件将这些信息可视化。例如,使用GTK的进度条表示CPU或内存的使用率,用图表展示网络流量,或者使用列表...

    《GTK+2.0编程范例》配套示例代码 1.1 最简单的窗口

    GTK+,全称为GIMP Toolkit,是一个用于创建图形用户界面的开源库,广泛应用于Linux和其他类UNIX系统。它提供了一套完整的工具...通过扩展这个例子,可以添加更多的控件、布局管理和事件处理,以构建更复杂的用户界面。

    使用Eclipse+Glade在Linux下进行Java的GTK程序开发

    启动Glade,新建一个项目,设计好你需要的窗口、按钮、文本框等控件。保存设计为XML文件,例如`myinterface.glade`。 为了将Glade设计的界面与Java代码关联,你需要使用Glade的XML解析库。在Eclipse中,导入`...

Global site tag (gtag.js) - Google Analytics