我无法正确获取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