- Я создал прокрученное окном gtk.
- я прикрепил вид GTK дерева к нему
- Я создал регулировки GTK для вертикальной прокрутки цели
- Я создал Gtk вертикальную полосу прокрутки и с корректировкой созданной выше.
- Я заполнил древовидную структуру некоторыми данными.
- Я попытался поймать сигнал, когда полоса прокрутки перемещается вверх или DOWM с помощью:
gtk_signal_connect(GTK_OBJECT(vscrollbar), "value_changed",G_CALLBACK(my_function),NULL);
Определить шаг вверх/вниз по полосе прокрутки в gtk
Мой обработчик сигнала выглядит следующим образом:
void my_function(GtkWidget *widget)
{
printf("Hi\n");
}
Как показано выше печатает a Hi
всякий раз, когда полоса прокрутки перемещается на один шаг вверх или на один шаг вниз. Но я хочу напечатать up
, когда его переместили вверх или down
, когда его спустили вниз.
void my_function(GtkWidget *widget)
{
if(/* movement is up, How to identify? */)
printf("UP\n");
if(/* movement is down, How to identify */)
printf("DOWN\n");
}
Я полностью новый человек, когда дело касается программирования gtk. Может кто-нибудь предложить, что мне нужно сделать для этого?
Кстати, вам не нужно создавать GtkAdjustment или полосу прокрутки. 1. Создайте GtkScrolledWindow (null, null) 2. Создайте GtkTreeView и добавьте его с gtk_container_add Теперь вам нужно просто подключить сигнал к настройке, созданной автоматически прокручиваемым окном. Кроме того, вы должны использовать * g_signal_connect * вместо этого. Вероятно, вам нужно проверить версии новых версий Gtk + – erick2red