0

Linux で GTKmm (C++) を学習しています。

ボタンを押すだけで TextView の内容を取得したい。

コードstd::cout << m_textBuffer->get_text();はコンソールに何も出力せず、公式 Web サイトで十分な説明を見つけることができません。

m_textBuffer->start()イテレータを使用する必要があるようですが、関数内でそうしようとするとget_text()、start() は TextBuffer の関数ではなく、end() と同等であることがわかります。

コンソールには、関連する可能性のあるいくつかの警告が出力されます。

Gtk-CRITICAL **: gtk_text_buffer_get_iter_at_mark: アサーション 'GTK_IS_TEXT_MARK (マーク)' が失敗しました

GUIコンストラクターには、次のものがあります。

m_txtQuestion.set_buffer(m_textBuffer);

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

1 に答える 1

1

(gtkmm-2.4 および gtkmm-3.0 の場合):
バッファーを設定する代わりに、TextView 内のバッファーを使用します。

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

次に、テキストを取得するには:

m_txtQuestion.get_buffer()->get_text();
于 2016-05-07T23:04:21.767 に答える