Как поменять текст в виджете класса Fl_Box?

можно ли поменять текст в виджете класса Fl_Box? если да то как ?


Ответы (2 шт):

Автор решения: GUN_ter

можно ли поменять текст в виджете класса Fl_Box?

На странице документации для версии FLTK 1.5.0 https://fltk.gitlab.io/fltk/classFl__Box.html не обнаружил метода, который изменяет текст у надписи уже у созданного экземпляра. Выводы:

  1. зависит от используемой версии библиотеки
  2. в FLTK 1.5.0 только при создании, через конструктор класса можно.
  3. возможно, унаследоваться от этого класса и модифицировать поведение.

что мне делать если мне надо вставить цифры из переменой типа double а там требуется тип const char*

// В стиле C:
#include <cstdio>
...
char bufferChars[32];
snprintf(bufChars, sizeof(bufChars), "%g", doubleVar);
// использовать указатель bufChars там где надо, в пределах области видимости

// В стиле C++11:
#include <string>
...
// выделением памяти для символов занимается класс std::string
std::string varString = std::to_string(doubleVar);
// использовать в качестве указателя const char* выражение varString.c_str()
→ Ссылка
Автор решения: Maxim Timakov

Класс Fl_Box является производным от Fl_Widget

В самом классе нужного метода нет, но есть в родительском.

Он имеет сигнатуру

void Fl_Widget::label(const char* text);

и является публичным.

Можно предположить, что этот метод и является необходимым автору.

box->label(text);

Преобразование различных типов к const char* рассматривать не будем.

→ Ссылка