| 
 | |
|  | 
| GTK+ 2.0 Tutorial | ||
|---|---|---|
| Разные виджеты (Miscellaneous Widgets) | ||
Виджет выбора файла - быстрый и простой способ показать диалоговое окно 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;
} | 
| Color Selection | Container Widgets | 
| Закладки на сайте Проследить за страницей | Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |