2013-04-22 1 views
0

Я делаю свой первый проект C#, используя monodevelop stetic gui creator. У меня есть несколько кнопок, объект TextView и некоторые виджеты с вертикальным и горизонтальным масштабированием. Это все Gtk (или Gtk #, или Gtk + ??) Виджеты, не уверенные в себе. И я ДЕЙСТВИТЕЛЬНО не могу понять документацию - даже не знаю, какую документацию я должен читать.Как получить значение из виджета масштаба Gtk/Range?

Я хотел бы получить значение из виджетов Scale, которые являются подклассом Gtk.Range, который обрабатывает все, что связано с прокруткой.

Я также хотел бы получить лучшее представление о том, что такое Gtk и какие-либо хорошие источники знаний по этому вопросу. Пока все, что я смог сделать, это копия these tutorials.

ответ

0

Gtk # - это оболочка C# вокруг GTK + 2.x (идет GTK + 3.x порт). Да, плюс «+» является частью имени, даже если вы найдете GTK +, на который ссылается GTK или gtk большую часть времени. Лучшая документацию можно найти на сайте Gtk:

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

Gtk # преобразует большинство функций методов CamelCase (вскрышного префикс gtk_xxx_, так как метод уже подразумевает класс); сеттеры и геттеры к свойствам и сигналам к событиям. С первых мгновений чистого ужаса, когда ничего не работает, довольно легко.

Например, давайте посмотрим, как получить значение от Gtk.Range. Мы начинаем с +-документации Gtk о GtkRange:

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

gtk_range_get_value, кажется, лучший кандидат, и это является функцией добытчика, которая принимает GtkRange «объекта» в качестве первого аргумента (это указатель на структуру в plain C, но будем называть его объектом, потому что это то, что мы получаем в Gtk #). Gtk # обычно делает это экземпляром свойства getter, поэтому давайте попробуем

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

и он работает. : D

Смежные вопросы