ScrollWindow 内的 TreeView 打印警告
TreeView inside ScrollWindow prints warning
花了2天时间解决这个问题,所以我觉得这个很有用。
我后面跟着 this GTKmm tutorial,在 Gtk::ScrolledWindow 中添加了 Gtk::TreeView,但是当我添加更多行时,它显示如下消息:
(GUI:25948): Gtk-WARNING **: Allocating size to gtkmm__GtkWindow
0x55ad53e44500 without calling
gtk_widget_get_preferred_width/height(). How does the code know the
size to allocate?
如何去除警告?太烦人了。
所以,你 ExampleWindow
class 和这个孩子
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);
由于 /usr/lib/libgtk-3.so.0
中的 SIGSEGV
,我已将 POLICY_AUTOMATIC
替换为 POLICY_ALWAYS
花了2天时间解决这个问题,所以我觉得这个很有用。
我后面跟着 this GTKmm tutorial,在 Gtk::ScrolledWindow 中添加了 Gtk::TreeView,但是当我添加更多行时,它显示如下消息:
(GUI:25948): Gtk-WARNING **: Allocating size to gtkmm__GtkWindow 0x55ad53e44500 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
如何去除警告?太烦人了。
所以,你 ExampleWindow
class 和这个孩子
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);
由于 /usr/lib/libgtk-3.so.0
SIGSEGV
,我已将 POLICY_AUTOMATIC
替换为 POLICY_ALWAYS