The OpenNET Project
 
Поиск (ключи):    ПРОГРАММЫ СТАТЬИ СОВЕТЫ ФОРУМ
  WIKI НОВОСТИ (+) 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 до 31 января 2012 года и выиграй СУПЕРПРИЗ!

Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке, посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.

Каждый, кто оформит подписку, получает бонус- объёмные наклейки на системный блок и подарки: с одним из первых выпусков журнала в 2012 году- диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную версию журнала в pdf-формате.

Подробнее о проведении акции вы можете прочитать на странице сайта.


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