在C语言中的GTK +遇到了一些问题之后,我认为我终于设法用复选框解决了我最大的问题。很不幸的是,不行 ;/
使用g_signal_connect之后:
g_signal_connect (ur, "toggled",G_CALLBACK(user_read_only), (gpointer *)filename);
函数user_read_only是这样的:
void user_read_only(GtkWidget *widget, gpointer *filename)
{
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))){
int stat;
stat = chmod(data, S_IRUSR);
printf("Added Read attribute to user in file: %s\n", (char *)filename);
} else {
printf("No Read attribute to user in file: %s\n", (char *)filename);
}
}
我使用以下命令进行编译:
gcc -o s8 s8.c `pkg-config --libs --cflags gtk+-2.0`
我收到以下警告:
s8.c: In function ‘main’:
s8.c:49:1: warning: ‘GtkStock’ is deprecated [-Wdeprecated-declarations] dialog = gtk_file_chooser_dialog_new ("Open File",NULL,GTK_FILE_CHOOSER_ACTION_OPEN,GTK_STOCK_CANCEL,GTK_RESPONSE_CANCEL,GTK_STOCK_OPEN,GTK_RESPONSE_ACCEPT,NULL);
^
s8.c:49:1: warning: ‘GtkStock’ is deprecated [-Wdeprecated-declarations]
s8.c:78:29: error: ‘GTK_CAN_FOCUS’ undeclared (first use in this function)
GTK_WIDGET_UNSET_FLAGS(ur, GTK_CAN_FOCUS);
我正在尝试查找有关应该如何处理的信息。在线上出现此警告的唯一事情是尝试使用gtk + 3.0
有办法解决吗?我需要对话框让用户选择文件,该用户可以设置chmods。
提前致谢。
最佳答案
采用
gtk_widget_set_can_focus(ur)
代替
GTK_WIDGET_UNSET_FLAGS(ur, GTK_CAN_FOCUS);
documentation
关于c - GTK C-已弃用“GtkStock”和“GTK_CAN_FOCUS”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24323206/