Я хотел бы использовать виджет textview для отображения выходов во всей моей программе, есть куча cout и printf, где я показываю конкретную информацию, теперь я хотел бы использовать графический интерфейс в GTK+ для отображения выходов, которые я вижу в командной оболочке.
Я где-то читал, что мне нужно использовать GIOchannel и в других местах, в другом месте они просто предложили написать gtk_text_buffer_insert(), проблема в том, что последняя функция принимает указатель на char, и я показываю двойные и плавающие. Кастинг не работает, и он не должен работать.
Как мне это сделать?
Вы можете создать запись буфера потока в свой виджет. Вы std::streambuf
класс из std::streambuf
отправки символьных строк любой функции виджета и используйте std::ostream
инициализированный этим буфером потока. Вы можете заменить буфер потока std::cout
(используя std::cout.rdbuf(&sbuf)
), если вы не можете передать поток в функции, где он используется. Вам нужно будет заменить ваш printf()
s, хотя, если вы также хотите, чтобы эти выходные данные поступали в ваш виджет.