在使用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。
提前致谢。
答案 0 :(得分:1)
如文档中所述,GTK_STOCK_OK和GTK_STOCK_CANCEL等按钮可以翻译为“_Ok”和“_Cancel”。
https://developer.gnome.org/gtk3/stable/gtk3-Stock-Items.html#GTK-STOCK-CANCEL:CAPS
答案 1 :(得分:0)