[問題] 還是GtkBluder的問題
這次貼上程式碼,比較好釋義
我一直找不到什麼可以來分辨每一個button的工具(code中的 ???)
我是想要用同一個function接受訊號 然後經過分辨button來分別做事情
btest.c
/* 測試Button能否使用同一個函式分辨button */
#include <gtk/gtk.h>
/*
gcc -o btest -Wall -g btest.c `pkg-config gtk+-2.0 --cflags --libs `
-export-dynamic
*/
void test_function( GtkButton *button, gpointer data)
{
switch(???)
{
case ??? :
system("vi");
case ??? :
system("gedit");
default:
g_print("test!!\n");
}
}
int
main( int argc,
char **argv )
{
GtkBuilder *builder;
GtkWidget *window;
GtkWidget *but;
gtk_init( &argc, &argv );
builder = gtk_builder_new();
gtk_builder_add_from_file( builder, "btest.xml", NULL );
window = GTK_WIDGET( gtk_builder_get_object( builder, "window1" ) );
but = GTK_WIDGET( gtk_builder_get_object( builder, "test_function" ) );
gtk_builder_connect_signals( builder, but );
g_object_unref( G_OBJECT( builder ) );
gtk_widget_show_all(window );
gtk_main();
return( 0 );
}
再貼上 xml第一個button的部份
<object class="GtkButton" id="button1">
<property name="label" translatable="yes">vi</property>
<property name="width_request">200</property>
<property name="height_request">40</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<signal handler="test_function" name="clicked"/>
</object>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.62.19.50
推
06/30 21:34, , 1F
06/30 21:34, 1F
→
06/30 21:36, , 2F
06/30 21:36, 2F
→
06/30 22:10, , 3F
06/30 22:10, 3F
→
06/30 22:10, , 4F
06/30 22:10, 4F
→
06/30 23:20, , 5F
06/30 23:20, 5F
→
07/01 16:37, , 6F
07/01 16:37, 6F
→
07/01 16:39, , 7F
07/01 16:39, 7F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章