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

combobox + glade

27.03.2012, 20:52. Показов 5378. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru