我無法正確獲取GTK3中的TreeView。在GTK3樹視圖中包裝文本
我把它用這種方式來包裝:
Gtk::TreeViewColumn* pColumn = mTreeView.get_column(2);
static_cast<Gtk::CellRendererText *>(pColumn->get_first_cell())
->property_wrap_mode().set_value(Pango::WRAP_WORD_CHAR);
static_cast<Gtk::CellRendererText *>(pColumn->get_first_cell())
->property_wrap_width().set_value(200);
這工作,文本被包裹,但是當我調整窗口的大小,使之更大,有很多的上述難看的白色空間和在長文本的單元格下面。看來,GTK基於包裝寬度保留了單元格的高度。這對我來說毫無意義。
我試圖讓周圍設置需要signal_check_resize與計算這樣需要寬度:
Gtk::TreeViewColumn* pColumn = mTreeView.get_column(2);
auto width = this->get_allocated_width()
- mTreeView.get_column(0)->get_width()
- mTreeView.get_column(1)->get_width();
static_cast<Gtk::CellRendererText *>(pColumn->get_first_cell())
->property_wrap_width().set_value(width-100);
this->forceRecreateModel = true; //Needed to work
但是這讓我只能使窗口更大。它在調整大小後不能縮小。
問題是,這是如何正確完成的?
我在Arch linux上使用gtk3.20.3-1和gtkmm3.20.1-1。
編輯:在標題中的固定錯字...
哦,我的......我從來不想觸摸任何人的感受。 :) – kracejic