The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "Программирование, языки" / Оглавление документа

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






Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру