Я работаю на распайке с помощью GTK3 + Anjuta (плагин Поляны) и C.Невозможно получить GtkTextBuffer от Text View - C, GTK3
У меня есть текстовый вид, но у меня возникают проблемы получая текстовый буфер, который он использует.
код, который дает мне проблемы заключается в следующем:
GtkWidget * text_view_hilera_1;
GtkWidget * buffer;
text_view_hilera_1 = gtk_builder_get_object(build_princ,"txt_hilera1");
buffer = gtk_text_view_get_buffer(text_view_hilera_1);
error(gtk_buildable_get_name(buffer));
Error() является функцией, которая просто выводит строку, для отладки. Кажется, что функция get_buffer() не возвращает значение null, я проверил это. Это действительно возвращает что-то, не-нулевой указатель, но к чему я не знаю, потому что буфер не выполняет каждое утверждение.
(nw:6368): Gtk-CRITICAL **: gtk_buildable_get_name: assertion `GTK_IS_BUILDABLE (buildable)' failed
Он также не GTK_IS_TEXT_BUFFER и GTK_IS_WIDGET. Текстовое представление работает нормально и печатает свое имя с gtk_buildable_get_name.
Я могу поделиться XML для пользовательского интерфейса, но он слишком велик для сообщения. Если вам нужны какие-то конкретные разделы, просто спросите меня. Спасибо за помощь!
Это XML для представления текста:
<object class="GtkTextView" id="txt_hilera1">
<property name="width_request">19</property>
<property name="height_request">60</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="vscroll_policy">natural</property>
<property name="wrap_mode">char</property>
</object>