问题标签 [gtktreeview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1874 浏览

python - 如何使最后一个 gtk.TreeViewColumn 可调整大小?

可以gtk.TreeViewColumn.set_resizable(True)用来使列手动调整大小...除了最后一列——它总是占用可用空间。

虽然在大多数情况下它是明智的,但我使用 TreeView-in-a-ScrolledView,并且我也希望能够缩小/扩展最后一列。

目前我使用以下kludge:

但是,这个虚拟列往往会妨碍:使 TreeView 列循环等复杂化。有更好/更优雅的解决方案吗?

更新:它确实有效

在试图打造一个最小的例子时,我发现没有我的笨拙它也能正常工作。这是没有 gtk.ScrolledWindow 的最小示例:

尝试缩小最后一列——这是不可能的。然而,如果你改变

您可以毫无问题地扩展和收缩最后一列。

0 投票
1 回答
3988 浏览

python - Python GtkTreeview;选择项目时如何刷新列表

我正在制作一个基本的文件管理器,并被困在我的帖子标题中的问题上。首先,它查看一个目录,生成一个项目列表,并将它们附加到树视图列表中。

如果单击子目录,它将成为新的当前目录。我需要的只是将它发送回 def 中,它读取并显示当前目录内容(我认为)。

0 投票
1 回答
202 浏览

c - 使用 gtk_tree_view_set_reorderable 在 Microsoft Windows 中重新排序 GtkTreeView

根据 GTK+ 参考手册,使用 gtk_tree_view_set_reorderable 将启用拖放以重新排序行。

我在 Linux 中使用 GTK+ 3 和 GTK+ 2 进行了尝试,它似乎工作正常。但是当我在 Microsoft Windows 中尝试使用 GTK+ 2.24.0 时,我只能拖动行而不能放下它们。

我使用 Ubuntu Linux 11.04(带有 Gnome 3 Desktop)和 Microsoft Windows XP Service Pack 3 对其进行了测试。

除了将 reorderable 设置为 TRUE 之外,我还需要在 Microsoft Windows 中执行其他操作吗?

这是我用来测试的一个简单程序:

0 投票
1 回答
2833 浏览

python - 如何在 gtk.ScrolledWindow 内的 GtkTreeView 中显示列标题?

我对Gtk.Treeviewindide有疑问Gtk.ScrolledWindow。我有大量数据,不适合我的普通窗口几何图形,所以我将 Treeview 放在 aScrolledWindow中,这似乎是正常的方式。这个解决方案的问题是,当我滚动时,我的列标题消失了。这种行为对我来说似乎有点好,因为ScrolledWindow应该关心它里面的小部件。

那么,如何让我的 Treeview 可滚动始终在第一行显示列标题?

我修改了basictreeview.py示例来表示我的问题:

0 投票
2 回答
2815 浏览

listview - 选择树视图(列表存储)行时如何获得通知?

如何连接到Gtk.TreeView的信号,以便在选择行时通知我?目前我正在连接到 row_activated 信号,但这需要双击该行,并且我希望单击一下就可以收到通知。

示例程序:

除了 row_activated 的双击要求之外,该程序完全按照我的意愿工作。

0 投票
2 回答
379 浏览

python - 移动子树后如何更新 TreeModel

我有一个自定义的 GenericTreeModel,效果很好。现在我希望用户能够使用拖放重新排列节点,因此我将节点移动到数据模型中的新父节点。但是,TreeModel 希望使用row_has_child_toggled,row_deleted和等方法得到通知row_inserted

所以显然没有row_moved和调用row_deleted(对于原始路径)和row_inserted(对于新路径)似乎还不够。所以我想我可能不得不递归地发布这些更改。

考虑以下示例:

现在,如果我将 C 移动到 A,则会发生以下事情:

但是,gtk 仍然抱怨模型的不一致状态。我想到了两件事:

  • 也许调用这些函数的顺序是相关的(如果有的话知道怎么做?)
  • 技术上child_toggle( (1,0) )也会发生,但是该行 a) 已被删除并且 b)row_has_child_toggled需要一个tree_iter引用,我无法得到它,因为它不再存在。

也许我在这里采用了完全错误的方法,那么最好的方法是什么?

0 投票
1 回答
689 浏览

python - 使用 GtkTreeView 显示目录和文件

拥有以下用于遍历目录的基本代码,我想用目录和文件信息填充 GtkTreeView 给用户:

C 代码也很受欢迎,因为它很容易翻译成 pygtk。

0 投票
3 回答
2248 浏览

c - Change the font in a GtkTreeView

How can I change the font of a leaf in my gtktreeview? I'd like set the font bold for a particular leaf

0 投票
1 回答
184 浏览

gtk - 为什么我的 GtkTreeView 更新仅在 gtkitem 事件完成后触发?

我有一个带有列和值的 gtktree。我还有一个带有 gtkmenuitem 的弹出菜单:“刷新”。

刷新事件做了两件事:

  • 重新填充我的 gtktree
  • 执行查询。

查询不是立即的,大约需要 5 秒。为什么我只能在查询 5 秒后才能看到树的更新?我想立即更新 gtktree,我不明白更新的延迟。

0 投票
2 回答
4393 浏览

pygtk - 无法让滚动条工作 PyGTK 树视图

首先让我先说我在这里读了很多书,我已经用谷歌搜索了答案,但一直没有找到答案。

基本上我正在尝试添加一个滚动条以添加到我的 vbox 窗口中。我知道这只是我不理解的事情。这是代码(请忽略mysql语句,我还没有清理它们

您将在那里看到以下内容:

当我试图通过

我收到消息

我去了常见问题页面,但我真的不明白它告诉我什么。

如果我尝试设置,self.window我会得到:

那是很不言自明的

如果我尝试将其添加到vbox我得到:

我不是在寻找免费赠品,但我希望有人能帮助我指出正确的方向。(如您所见,我并没有提出“你能给我一个执行 X 的程序吗”场景)

--->下面是新的GTK唯一界面<----

--->结束新界面<---

我的滚动条仍然存在同样的问题。我怀疑这是我向容器添加小部件的方式。

注意:我从第一个 GUI 中删除了 mysql 语句以节省帖子空间