Gtk'da butona sürekli basılma sinyali nasıl oluşturuluyor?

Başlatan Katsuro, 29 Aralık 2017 - 18:34:10

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

Katsuro

Merhaba arkadaşlar konuyu başlıkta tam anlatamamış olabilirim kusuruma bakmayın lütfen. Bir buton düşünün üzerine basıldığı sürece değişkenin değerini arttıracak. Yani aşağıda yazdığım kod gibi her tıklandığında değil. Bunu nasıl yapabilirim bana yardımcı olabilir misiniz? Yani butonun bırakalıp bırakılmadığını hangi event ile kontrol ediyoruz?

#include <gtk/gtk.h>
#include <stdio.h>
#include <stdlib.h>


int count;

void delete_event (GtkWidget *widget, gpointer data)
{
    gtk_main_quit ();
}

void button_press( GtkWidget *widget, gpointer data )
{

count++;
printf("Count: %d\n", count);

}


int main ( int argc , char * argv[] )
{
   
gtk_init(&argc, &argv);

GtkWidget *window;
GtkWidget *button;


window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
gtk_window_set_default_size(GTK_WINDOW(window), 100, 40);
gtk_window_set_title(GTK_WINDOW(window), "Test");
g_signal_connect (window, "delete_event", G_CALLBACK (delete_event), NULL);

button = gtk_button_new_with_label("Press");
gtk_container_add(GTK_CONTAINER(window), button);
g_signal_connect (button, "clicked", G_CALLBACK (button_press), NULL);



gtk_widget_show_all(window);
gtk_main();
return 0;

}




Katsuro

[mention=635105]@Amenofis[/mention]

Teşekkür ederim ama bunlar değil. Sorunu çözdüm pressed ve released sinyallerini kulllanarak thread oluşturup daha sonra kapatıyorum.

hitokiri