[英]How to assign a command for a GTK button of Glade?
我使用Glade(a.glade文件)設計了界面和按鈕。 然后,我編寫了一個C語言文件(ec文件)以將命令分配給按鈕,盡管它沒有報告錯誤,但是按鈕沒有執行命令,我的“ ec”文件中是否缺少某些內容?
在a.glade文件中:
<object class="GtkButton" id="buttonn">
<property name="label" translatable="yes">OK</property>
<property name="related_action"/>
<property name="width_request">126</property>
<property name="height_request">51</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="halign">center</property>
<property name="valign">center</property>
<property name="margin_left">15</property>
<property name="margin_right">15</property>
<property name="margin_top">15</property>
<property name="margin_bottom">15</property>
<signal name="clicked" handler="on_buttonn_clicked" swapped="no"/>
</object>
在ec文件中:
int main(int argc, char *argv[])
{
GtkBuilder *builder;
GtkWidget *window;
gtk_init(&argc, &argv);
builder = gtk_builder_new();
gtk_builder_add_from_file (builder, "a.glade", NULL);
window = GTK_WIDGET(gtk_builder_get_object(builder, "windoww"));
gtk_builder_connect_signals(builder, NULL);
g_object_unref(builder);
gtk_widget_show(window);
gtk_main();
return 0;
}
和:
// called when button is clicked
void on_buttonn_clicked()
{
char command[50];
strcpy( command, "touch a.txt" );
system(command);
}
@DavidCollins嗨! 謝謝你的幫助。 我嘗試在已編譯的代碼中添加一個標志,並且它起作用了。 我添加了-rdynamic
標志,完全編譯的代碼是:
gcc -rdynamic -no-pie -Wall -g -o e e.c `pkg-config --cflags --libs gtk+-3.0`
謝謝你的幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.