【问题标题】:TreeView inside ScrollWindow prints warningScrollWindow 内的 TreeView 打印警告
【发布时间】:2018-02-25 11:50:07
【问题描述】:
花了 2 天时间解决了这个问题,所以我觉得这很有用。
我后面跟着this GTKmm tutorial,在 Gtk::ScrolledWindow 中添加了 Gtk::TreeView,但是当我添加更多行时,它会显示如下消息:
(GUI:25948): Gtk-WARNING **: 将大小分配给 gtkmm__GtkWindow
0x55ad53e44500 没有调用
gtk_widget_get_preferred_width/height()。代码如何知道
要分配的大小?
如何删除警告?太烦人了。
【问题讨论】:
标签:
c++
gtk
gtk3
gtkmm
gtkmm3
【解决方案1】:
所以,你有 ExampleWindow 这个孩子的班级
Gtk::ScrolledWindow m_ScrolledWindow;
Gtk::TreeView m_TreeView;
Glib::RefPtr<Gtk::ListStore> m_refTreeModel;
在你的 ExampleWindow() 构造函数中替换这个:
m_ScrolledWindow.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
与:
m_ScrolledWindow.set_policy(Gtk::POLICY_ALWAYS, Gtk::POLICY_ALWAYS);
m_ScrolledWindow.set_resize_mode(Gtk::ResizeMode::RESIZE_IMMEDIATE);
我已将POLICY_AUTOMATIC 替换为POLICY_ALWAYS,因为/usr/lib/libgtk-3.so.0 中的SIGSEGV