Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > GTK+ динамический label with markup


Автор: Ilya83 26.3.2017, 18:18
Если в цикле установить label_set_text то все работает, а если делать текст with markup то данные не обновляются. 

Делаю так:

Код

 strDegrees = comPort.getData();
        
        gtk_label_set_text(GTK_LABEL(degreesLabel), &strDegrees);
        //gtk_label_set_markup(GTK_LABEL(degreesLabel), &strDegrees);
    gchar *format = "<span font='50'>%d</span>";
    char *markup;
    //degreesLabel = gtk_label_new(NULL);
    markup = g_markup_printf_escaped(format, &strDegrees);
    gtk_label_set_markup(GTK_LABEL(degreesLabel), markup);
    g_free(markup);
        
        while(gtk_events_pending()) gtk_main_iteration();



данные выводятся 1 раз и не обновляются. причем в runtime сыпется :  

 GLib-GObject-WARNING **: invalid unclassed pointer in cast to `GtkLabel'

Gtk-CRITICAL **: gtk_label_set_text: assertion `GTK_IS_LABEL (label)' failed

Без markup шрифт очень мелкий. Как исправить ?

Автор: Ilya83 26.3.2017, 20:20
Нашел ф-ю g_strdup_printf ()  все заработало. спасибо всем!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)