(GTK2)
作用:打开一个预置的对话框,如文件选取对话框 GtkFileSelection
效果下图所示
╰── GtkDialog
├── GtkAboutDialog
├── GtkColorSelectionDialog
├── GtkFileChooserDialog
├── GtkFileSelection
├── GtkFontSelectionDialog
├── GtkInputDialog
├── GtkMessageDialog
├── GtkPageSetupUnixDialog
├── GtkPrintUnixDialog
╰── GtkRecentChooserDialog
使用方法:
此处以文件选择框为例
void button_openfile (GtkWidget * widget, gpointer * data)
{
GtkWidget *FileSelection;
FileSelection = gtk_file_selection_new ("选择文件"); //创建文件选择对话框
gtk_file_selection_set_filename (GTK_FILE_SELECTION (FileSelection),"*.jpg *.png *.bmp"); //设置默认格式
g_signal_connect(G_OBJECT(FileSelection), "response", G_CALLBACK(cb_openfile), data);
gtk_widget_show (FileSelection);
}
GtkFileSelection
继承自 GtkDialog
,点击对话框中的按钮(确定/取消)或关闭窗口后会触发 response
信号,回调函数原形如下
void callback_function (GtkDialog *dialog,
gint response_id,
gpointer user_data)
其中 response_id
为动作信号种类,在 GtkFileSelection
中当 response_id == -5
时为用户点击确定事件,故信号回调函数如下
void cb_openfile(GtkWidget* trigger, gint response_id, gpointer data)
{
if(response_id == -5){
printf("Triggered : [path]=%s\n", gtk_file_selection_get_filename(trigger));
}
gtk_widget_destroy(trigger);
}
其中函数 gtk_file_selection_get_filename
可获得选中文件的路径。
GTK 预置对话框 GtkDialog 文件/颜色/字体选取等 GtkFileSelection
原文:https://www.cnblogs.com/glowming/p/gtkdialog.html