The OpenNET Project
 
Поиск (ключи):  ПРОГРАММЫ СТАТЬИ СОВЕТЫ ФОРУМ
ССЫЛКИ НОВОСТИ (+) MAN'ы ДОКУМЕНТАЦИЯ

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

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




Подпишись на Linux Format и получи один из 3 ценных призов!

Началась подписка на журнал Linux Format на 2010 год. Спешите оформить подписку на единственный в России ежемесячный журнал о Linux!

Все, оформившие подписку на печатную версию журнала, получают диск с архивом журнала Linux Format за 2005-2009г. в подарок. Также в подарок вы получаете именную электронную версию в формате PDF. Теперь вы можете приступить к чтению журнала сразу в момент выхода свежего номера, не дожидаясь, пока вам доставят бумажную версию.

Кроме того, все, оформившие подписку на первую половину или весь 2010 год в интернет-магазине ГНУ/Линуксцентра, автоматически становятся участниками розыгрыша ценных призов:


  Закладки на сайте
  Проследить за страницей
Created 1996-2010 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
RUNNet TopList