"将大小分配给......"在Gtk.ScrolledWindow中使用Gtk.TreeView时出现GTK警告

时间:2017-09-16 11:36:25

标签: python python-3.x gtk gtk3 pygobject

我在GTK 3申请中收到以下警告:

  

Gtk-WARNING **:在不调用gtk_widget_get_preferred_width / height()的情况下将大小分配给ALTER TABLE `Add` Add INDEX `IX_Add_ON_IDCat_IDStatus_IDModeration_DateTo_DateAdded` (`FK_Add_Category`,`FK_Add_AddStatus`,`FK_Add_AddModeration`, `IX_Add_DateTo`,`IX_Add_DateAdded`); 。代码如何知道要分配的大小?

当包含__main__+MCVEWindow 0000000004e93b30的{​​{1}}附加到网格时,会出现警告,网格本身附加到Gtk.ScrolledWindow,并且滚动条有足够的元素实际显示。如果没有足够的元素使其可滚动,则警告不会出现。

Gtk.TreeView

如果您已设置环境,您应该能够复制,粘贴和运行此代码。

警告不遵循任何特定模式,有时会有一个警告,有时两个或更多。每当我展开所有树项目时,也会弹出警告。

GTK版本为gtk.ApplicationWindow

什么可能导致这些警告?

1 个答案:

答案 0 :(得分:1)

我收到了GTK App dev邮件列表上的答案,该列表引导我找到解决方案:

将TreeView附加到GTK Grid,然后将其添加到ScrolledWindow为我解决了这个问题。

而不是这个

scrolled_tree_view = gtk.ScrolledWindow()
scrolled_tree_view.add(self._tree_view)

您需要执行以下操作

scrolled_tree_view = gtk.ScrolledWindow()
grid = gtk.Grid()
grid.attach(self._tree_view, 0, 0, 1, 1)
scrolled_tree_view.add(grid)

不幸的是,这在任何地方都没有记录。