gpt4 book ai didi

c - 如何为 Glade 的 GTK 按钮分配命令?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:13:49 26 4
gpt4 key购买 nike

我用 Glade(a.glade 文件)设计了界面和按钮。然后我编写一个C语言文件(e.c文件)将命令分配给按钮,虽然它没有报告错误,但按钮不执行命令,我的“e.c”文件中是否缺少某些内容?

在 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>

在e.c文件中:

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`

感谢您的帮助。

关于c - 如何为 Glade 的 GTK 按钮分配命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56681852/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com