Gtk::TextViewによるテキスト入力
概要
1行のテキストボックスはGtk::Entryによって出来たが、複数行のテキストエディタはGtk::TextViewを使用する。文字列をセットするときはget_buffer()によりバッファ(Gtk::TextBuffer)のポインタを取得して Gtk::TextBuffer::set_text()を使う。文字列を取得するときも同様にしてGtk::TextBuffer::get_text()を使う。
ソース
textview.cpp#include <gtkmm.h> class MainWin : public Gtk::Window { Gtk::TextView m_textview; public: MainWin(); virtual ~MainWin(); }; MainWin::MainWin() { m_textview.get_buffer()->set_text( "test" ); add( m_textview ); show_all_children(); } MainWin::~MainWin() { Gtk::MessageDialog( m_textview.get_buffer()->get_text() ).run(); } int main( int argc, char *argv[] ) { Gtk::Main kit( argc, argv ); MainWin mainwin; Gtk::Main::run( mainwin ); return 0; }
コンパイル
必要なコンパイルオプションは pkg-config を使って取得する。g++ textview.cpp -o textview `pkg-config gtkmm-2.4 --cflags --libs`
結果
