0

我正在使用 monodevelop stetic gui 创建者制作我的第一个 C# 项目。我有几个按钮、一个 TextView 对象和一些垂直和水平缩放小部件。这些都是 Gtk(或 Gtk#,或 Gtk+??)小部件,不确定是哪个。而且我真的无法理解文档 - 甚至不确定我应该阅读哪些文档。

我想从 Scale 小部件中获取一个值,它是 Gtk.Range 的一个子类,它处理任何涉及滚动的事情。

我还想更好地了解 Gtk 是什么以及有关该主题的任何良好知识来源。到目前为止,我所能做的就是复制这些教程

4

1 回答 1

0

Gtk# 是围绕 GTK+ 2.x 的 C# 包装器(GTK+ 3.x 端口正在进行中)。是的,加号“+”是名称的一部分,即使您会发现 GTK+ 在大多数情况下被引用为 GTK 或 gtk。最好的文档可以在 Gtk 网站上找到:

http://www.gtk.org/documentation.php

Gtk# 将大部分函数转换为 CamelCase 方法(去掉 gtk_xxx_ 前缀,因为方法已经隐含了一个类);属性的设置器和获取器以及事件的信号。在最初的纯粹恐怖片刻之后没有任何作用是很容易的。

例如,让我们检查如何从Gtk.Range. 我们从 Gtk+ 2 文档开始GtkRange

https://developer.gnome.org/gtk2/stable/GtkRange.html#gtk-range-get-value

gtk_range_get_value似乎是最好的候选者,它是一个将GtkRange“对象”作为第一个参数的 getter 函数(这是一个指向纯 C 中的结构的指针,但无论如何我们都称它为对象,因为这是我们在 Gtk# 中得到的)。Gtk# 通常将此作为实例属性获取器,所以让我们尝试一下

Gtk.Range yourRange = /* your code to get or create the range */;
COnsole.WriteLine(yourRange.Value);

它有效。:D

于 2013-04-24T14:18:17.510 回答