gpt4 book ai didi

C++ GTKmm - 如何获取我的 TextView (TextBuffer) 的内容

转载 作者:行者123 更新时间:2023-11-28 05:41:03 26 4
gpt4 key购买 nike

我正在 Linux 上学习 GTKmm (C++)。

我想通过按下按钮获取 TextView 的内容。

代码std::cout << m_textBuffer->get_text();不向控制台输出任何内容,我在官方网站上找不到足够的解释。

看来我需要使用迭代器,但尝试使用 m_textBuffer->start() 来实现在函数中 get_text()告诉我 start() 不是 TextBuffer 的函数,也不是 end() 的等价物。

控制台输出一些可能相关的警告:

Gtk-CRITICAL **: gtk_text_buffer_get_iter_at_mark: assertion 'GTK_IS_TEXT_MARK (mark)' failed Gtk-CRITICAL **: gtk_text_layout_get_line_yrange: assertion '_gtk_text_iter_get_btree (iter) == _gtk_text_buffer_get_btree (layout->buffer)' failed

在 GUI 构造函数中,我有这个:

m_txtQuestion.set_buffer(m_textBuffer);

m_textBuffer = Gtk::TextBuffer::create();
m_textBuffer->set_text("")

最佳答案

(对于 gtkmm-2.4 和 gtkmm-3.0):
与其尝试设置缓冲区,不如使用 TextView 中的缓冲区:

m_txtQuestion.get_buffer()->set_text("My text.");

然后获取文本使用:

m_txtQuestion.get_buffer()->get_text();

关于C++ GTKmm - 如何获取我的 TextView (TextBuffer) 的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37086566/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com