Форум программистов, компьютерный форум, киберфорум
Кроссплатфор­менная разработка
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.63/27: Рейтинг темы: голосов - 27, средняя оценка - 4.63
15 / 14 / 4
Регистрация: 20.05.2011
Сообщений: 296
Записей в блоге: 2

combobox + glade

27.03.2012, 20:52. Показов 5404. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте помогите разобраться с combobox не как не пойму как это работает с glade то есть в glade есть liststore
C
1
store = GTK_LIST_STORE( gtk_builder_get_object( builder, "liststore1" ) );
как я понял он подключается так, а нужно ли подключать еше это
C
1
combo = GTK_COMBO_BOX( gtk_builder_get_object( builder, "combobox1" ) );
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.03.2012, 20:52
Ответы с готовыми решениями:

Многопотоковая прога на GTK+(Glade)?
Подскажите, пожалуйста, в написание многопотоковой проги на GTK+. Нарисовал диалоговое окошко на gtk+(glade) и создал поток...

Неужели вас устраивает качество Glade, wxFormBuilder, Mono Develop?
Почему после Delphi, Visual Basic, набросать всего-навсего блокнот или калькулятор это целая пытка? Самое дурацкое, что фреймворки Qt,...

ComboBox. Как узнать индекс при изменении состояния ComboBox
Здравствуйте, возник вопрос касательно ComboBox. В реалиях выполняемой задачи появилась необходимость изменять строку в QLabel сразу же при...

32
15 / 14 / 4
Регистрация: 20.05.2011
Сообщений: 296
Записей в блоге: 2
04.04.2012, 21:40  [ТС]
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include "convector.h"
#include <gtk/gtk.h>
#include <glib/gi18n.h>
 
 
 
/* For testing propose use the local (not installed) ui file */
/* #define UI_FILE PACKAGE_DATA_DIR"/convector/ui/convector.ui" */
#define UI_FILE "src/convector.ui"
#define TOP_WINDOW "window"
 
 
G_DEFINE_TYPE (Convector, convector, GTK_TYPE_APPLICATION);
 
/* Create a new window loading a file */
 
static void
convector_new_window (GApplication *app,
                           GFile        *file)
{
    GtkWidget *window;
    GtkComboBox *Combo; 
    GtkBuilder *builder;
    GError* error = NULL;
 
    /* Load UI from file */
    builder = gtk_builder_new ();
    if (!gtk_builder_add_from_file (builder, UI_FILE, &error))
    {
        g_critical ("Couldn't load builder file: %s", error->message);
        g_error_free (error);
    }
 
    /* Auto-connect signal handlers */
    gtk_builder_connect_signals (builder, NULL);
 
    /* Get the window object from the ui file */
    window = GTK_WIDGET (gtk_builder_get_object (builder, TOP_WINDOW));
        if (!window)
        {
                g_critical ("Widget \"%s\" is missing in file %s.",
                TOP_WINDOW,
                UI_FILE);
        }
    Combo = GTK_COMBO_BOX(gtk_builder_get_object (builder,"combobox1")); 
    gtk_combo_box_append_text(GTK_COMBO_BOX(Combo),"Ubuntu");
    
    g_object_unref (builder);
    
    
    gtk_window_set_application (GTK_WINDOW (window), GTK_APPLICATION (app));
    if (file != NULL)
    {
        /* TODO: Add code here to open the file in the new window */
    }
    gtk_widget_show_all (GTK_WIDGET (window));
}
вот код но в этой строке происходит ошибка
C
1
gtk_combo_box_append_text(GTK_COMBO_BOX(Combo),"Ubuntu");
вот ошибка
convector.c:64: undefined reference to `gtk_combo_box_append_text'
0
310 / 233 / 15
Регистрация: 01.07.2011
Сообщений: 812
Записей в блоге: 1
05.04.2012, 13:49
maximus1991, таки получилось?
ответ был дан здесь.
1
15 / 14 / 4
Регистрация: 20.05.2011
Сообщений: 296
Записей в блоге: 2
05.04.2012, 20:47  [ТС]
так и не получается, вот проект объясни ошибки мои?
Вложения
Тип файла: rar gtk-foobar4.rar (644.1 Кб, 21 просмотров)
0
15 / 14 / 4
Регистрация: 20.05.2011
Сообщений: 296
Записей в блоге: 2
06.04.2012, 06:51  [ТС]
Спасибо, я нашёл свои ошибки спасибо за помощь))
0
06.04.2012, 11:15

Не по теме:

Не за что, обращайся еще. ;)

0
15 / 14 / 4
Регистрация: 20.05.2011
Сообщений: 296
Записей в блоге: 2
06.04.2012, 20:01  [ТС]
C
1
2
3
4
5
GtkComboBox *Combo;
gchar text1;
Combo = GTK_COMBO_BOX(gtk_builder_get_object (builder,"combobox1"));
    text1 = gtk_combo_box_text_get_active_text(Combo);
    g_print(text1);
обясните какая тут ошибка что вывод такую ошибку
gtk_combo_box_text_get_active_text: assertion `GTK_IS_COMBO_BOX_TEXT (combo_box)' failed

GLib-CRITICAL **: g_print: assertion `format != NULL' failed
0
310 / 233 / 15
Регистрация: 01.07.2011
Сообщений: 812
Записей в блоге: 1
08.04.2012, 22:42
надо, чтобы text1 был либо указателем, либо символьным массивом (строкой), т.е.:
C
1
gchar text1[256]; // либо gchar *text1;
Обращаю внимание, при объявлении text1 как указатель, он будет указывать именно на то поле, куда его иницируешь, а не содержать в себе данные, как при объявлении массивом. В этом есть разница, если необходима последующая обработка строки.
0
15 / 14 / 4
Регистрация: 20.05.2011
Сообщений: 296
Записей в блоге: 2
09.04.2012, 19:45  [ТС]
ошибка: incompatible types when assigning to type «gchar[256]» from type «gchar *» вот как теперь ругается(
0
310 / 233 / 15
Регистрация: 01.07.2011
Сообщений: 812
Записей в блоге: 1
11.04.2012, 21:15
maximus1991, а на "gchar *text1;"?
0
15 / 14 / 4
Регистрация: 20.05.2011
Сообщений: 296
Записей в блоге: 2
11.04.2012, 21:23  [ТС]
Цитата Сообщение от remarkes Посмотреть сообщение
а на "gchar *text1;"?
не ругается но только мне нужен не указатель а сама информация то есть выводит ее g_print(text1);
а как тогда с указателем работать?
0
310 / 233 / 15
Регистрация: 01.07.2011
Сообщений: 812
Записей в блоге: 1
12.04.2012, 19:03
Цитата Сообщение от maximus1991 Посмотреть сообщение
а как тогда с указателем работать?
ну по идее так, как ты написал - так и надо работать. по идее, должно работать.
либо как вариант:
g_print("%s", text1);
но и первый вариант должен работать.
если надо обработать принятую строку, не трогая основной, можно сделать так:
char some_text[256];
strcpy(some_text, text1);
и уже обрабатываешь some_text. но это необязательная процедура. непомню точно, но где-то мне было необходимо делать именно таким образом...
0
15 / 14 / 4
Регистрация: 20.05.2011
Сообщений: 296
Записей в блоге: 2
12.04.2012, 19:42  [ТС]
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include "gtk-foobar.h"
 
#include <glib/gi18n.h>
 
 
 
 
#define UI_FILE "src/gtk_foobar.ui"
#define TOP_WINDOW "window"
 
 
G_DEFINE_TYPE (Gtkfoobar, gtk_foobar, GTK_TYPE_APPLICATION);
 
/* Create a new window loading a file */
static void
gtk_foobar_new_window (GApplication *app,
                           GFile        *file)
{
    GtkWidget *window;
    GtkComboBox *Combo;
    gchar text1[256];
    GtkBuilder *builder;
    GError* error = NULL;
 
    /* Load UI from file */
    builder = gtk_builder_new ();
    if (!gtk_builder_add_from_file (builder, UI_FILE, &error))
    {
        g_critical ("Couldn't load builder file: %s", error->message);
        g_error_free (error);
    }
 
    /* Auto-connect signal handlers */
    gtk_builder_connect_signals (builder, NULL);
 
    /* Get the window object from the ui file */
    window = GTK_WIDGET (gtk_builder_get_object (builder, TOP_WINDOW));
        if (!window)
        {
                g_critical ("Widget \"%s\" is missing in file %s.",
                TOP_WINDOW,
                UI_FILE);
        }
    Combo = GTK_COMBO_BOX(gtk_builder_get_object (builder,"combobox1"));
    text1 = gtk_combo_box_text_get_active_text(Combo);
    g_print("%s", text1);
    g_object_unref (builder);
    
    
    gtk_window_set_application (GTK_WINDOW (window), GTK_APPLICATION (app));
    if (file != NULL)
    {
        /* TODO: Add code here to open the file in the new window */
    }
    gtk_widget_show_all (GTK_WIDGET (window));
}
вот код а ругается так ошибка: incompatible types when assigning to type «gchar[256]» from type «gchar *» и указывает на вот эту строку text1 = gtk_combo_box_text_get_active_text(Combo ); типо не совместимые типы.
0
310 / 233 / 15
Регистрация: 01.07.2011
Сообщений: 812
Записей в блоге: 1
13.04.2012, 06:21
Цитата Сообщение от maximus1991 Посмотреть сообщение
типо не совместимые типы.
ну. а если объявить gchar *text1; - что происходит? (т.е. не массивом, а указателем?). строка 21
у тебя ошибка в самом начале была в том, что ты объявил gchar text1 - без звездочки.
1
15 / 14 / 4
Регистрация: 20.05.2011
Сообщений: 296
Записей в блоге: 2
13.04.2012, 21:05  [ТС]
C
1
2
3
4
gchar *text1;
Combo = GTK_COMBO_BOX(gtk_builder_get_object (builder,"combobox1"));
    text1 = gtk_combo_box_text_get_active_text(Combo);
    g_print("%s", text1);
компилируется норм но выдает такую ошибку в терминале после запуска программы (gtk_foobar:4901): Gtk-CRITICAL **: gtk_combo_box_text_get_active_text: assertion `GTK_IS_COMBO_BOX_TEXT (combo_box)' failed
(null)
0
310 / 233 / 15
Регистрация: 01.07.2011
Сообщений: 812
Записей в блоге: 1
13.04.2012, 21:25
Цитата Сообщение от maximus1991 Посмотреть сообщение
gtk_combo_box_text_get_active_text
такой функции нет, есть:
gtk_combo_box_get_active_text()
наверное в этом была ошибка. у тебя Dev-help подключен? он помогает в поиске и правильном написании функций.
0
15 / 14 / 4
Регистрация: 20.05.2011
Сообщений: 296
Записей в блоге: 2
13.04.2012, 21:32  [ТС]
Цитата Сообщение от remarkes Посмотреть сообщение
gtk_combo_box_get_active_text()
undefined reference to `gtk_combo_box_get_active_text' ругается так при компиляции, я в инете прочитал что в gtk3 нет такой функции а типо надо пользоваться вот такой новой gtk_combo_box_text_get_active_text
0
310 / 233 / 15
Регистрация: 01.07.2011
Сообщений: 812
Записей в блоге: 1
13.04.2012, 21:44
maximus1991, хм.. ну вот и я узнал что-то новое )

Добавлено через 6 минут
попробуй тогда так:
gchar *text1;
Combo = GTK_COMBO_BOX_TEXT(gtk_builder_get_object (builder,"combobox1"));
text1 = gtk_combo_box_text_get_active_text(Combo );
g_print("%s", text1);

также посмотри, какие есть "дефайны" (макросы) и какие функции
/usr/include/gtk-3.0/gtk/gtkcombobox.h
потому что у меня в 2.0 все бы работало (т.е. изначально код правильный).
кстати, без самой приведенной функции (которая берет строку из комбы) - код собирается?
и, кстати, какой у тебя дистр?
0
15 / 14 / 4
Регистрация: 20.05.2011
Сообщений: 296
Записей в блоге: 2
13.04.2012, 21:54  [ТС]
да все собирается, это ошибка при выполнении программы выходит в консоли. я на Anjuta 3.2.0 работаю. вот gtkcombobox.h выслал
Вложения
Тип файла: txt gtkcombobox.txt (7.1 Кб, 20 просмотров)
0
310 / 233 / 15
Регистрация: 01.07.2011
Сообщений: 812
Записей в блоге: 1
13.04.2012, 22:34
я тебя огорчу (хотя я думал, ты сделаешь это сам) - в заголовочном файле нет ни старой ни новой функции.

Добавлено через 2 минуты
попробуй - что эти возвращают (взял из заголовочного файла):
C
1
2
const gchar * gtk_combo_box_get_active_id        (GtkComboBox *combo_box);
const gchar * gtk_combo_box_get_title              (GtkComboBox *combo_box);
т.е. например:
C
1
text1 = gtk_combo_box_get_title(Combo);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.04.2012, 22:34
Помогаю со студенческими работами здесь

Eclipse и Glade
Нужно написать калькулятор в Эклипсе с форомй... Создал в Glade форму... на выход получился xml-файл .glade Как его подключать в...

Установка Glade 2.12.1 из нескольких пакетов
Уважаемые форумчане! Пытаюсь поставить программу Glade 2.12.1 В консоли пишу : dpkg -i glade_2.12.1-7_i386.deb ...

Нужен модуль gtk.glade Python 2.6
Пытаюсь создать программу с Gui на gtk+. Установлен Python 2.6, GTK2-Runtime, Glade Interface Designer Gtk+ 2, в path прописан путь до gtk....

Ошибки компиляции OpenCV Gtkmm Glade
Помогите с такой вот выдачей при компиляции: t1tan@T1TAN-debian-PC:~/GladeProj$ cmake . -- Configuring done -- Generating done ...

Не работает Gtkmm 3.10 + Glade + GtkSourceView на Linux 64bit
Начал разбираться с GTKmm и натолкнулся на проблему. Создаю GUI в Glade, Есть форма, на ней приличное кол-во объектов и, собственно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru