GTK+ 2.0 Tutorial

<<< Previous

Разные виджеты (Miscellaneous Widgets)

Next >>>


Выбор файлов

Виджет выбора файла - быстрый и простой способ показать диалоговое окно File. Окно полностью укомплектовано всем необходимым включая кнопки Ok и Cancel что позволяет сэкономить время при программировании.

Диалог выбора файлов создаётся функцией:

GtkWidget *gtk_file_selection_new( const gchar *title );

Установить имя файла для примера в определённом каталоге или получить имя файла по умолчанию:

void gtk_file_selection_set_filename( GtkFileSelection *filesel, const gchar *filename );

Для захвата текста введенного пользователем используется эта функция:

gchar *gtk_file_selection_get_filename( GtkFileSelection *filesel );

Есть также указатели на виджеты, находящиеся в пределах виджета выбора файла:

dir_list file_list selection_entry selection_text main_vbox ok_button cancel_button help_button

Наиболее используемые указатели ok_button, cancel_button и help_button.

Модифицированный пример из testgtk.c.

#include <gtk/gtk.h> /* Получаем выбранное имя файла и выводим на консоль */ void file_ok_sel( GtkWidget *w, GtkFileSelection *fs ) { g_print ("%s\n", gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs))); } int main( int argc, char *argv[] ) { GtkWidget *filew; gtk_init (&argc, &argv); /* Создаём новый виджет выбора файлов */ filew = gtk_file_selection_new ("File selection"); g_signal_connect (G_OBJECT (filew), "destroy", G_CALLBACK (gtk_main_quit), NULL); /* Соединяем ok_button с file_ok_sel функцией */ g_signal_connect (G_OBJECT (GTK_FILE_SELECTION (filew)->ok_button), "clicked", G_CALLBACK (file_ok_sel), (gpointer) filew); /* Соединяем cancel_button с закрытием виджета */ g_signal_connect_swapped (G_OBJECT (GTK_FILE_SELECTION (filew)->cancel_button), "clicked", G_CALLBACK (gtk_widget_destroy), G_OBJECT (filew)); /* Устанавливаем имя файла по умолчанию */ "penguin.png"); gtk_widget_show (filew); gtk_main (); return 0; }

<<< Previous

Home

Next >>>

Color Selection

Up

Container Widgets