如何与 TreeView 共享数据,例如 gtk_list_store

Posted

技术标签:

【中文标题】如何与 TreeView 共享数据,例如 gtk_list_store【英文标题】:How to share data with a TreeView such as done by gtk_list_store 【发布时间】:2015-01-05 09:30:04 【问题描述】:

我在 Qt/C++ 中使用 TreeView 管理应用程序

为了不混合文件系统访问和窗口/UI 管理,我确实创建了一个 C++ 代码,该代码管理与 FileSystem 交互和一个负责显示树的 C++ 类

我看到Gtk有一个

gtk_list_store_set(..)

在 C++ / Qt 中是否有任何等价物?

我要做的是能够使用来自文件系统端的 API 或方法来归档 TreeWidgetItem,而显示树部分只需读取此值。

知道如何正确地做到这一点吗?

我正在考虑在 FileSystem 的代码中实例化 TreeWidget 类,但我想让它更智能。

FileSystem 文件一个树视图模型,用户界面读取这个模型。

感谢您的帮助

【问题讨论】:

如果您对按需儿童群体感兴趣,您应该查看qt-project.org/doc/qt-4.8/itemviews-fetchmore.html 【参考方案1】:

如果我对您的理解正确,Qt 中有一个现成的解决方案可以解决您的问题。 QFileSystemModel你可以用它来访问文件系统,然后把它传递给Widget。

如果您使用的是 MTP 堆栈,您可能需要通过子类化 QAbstrackItemModel http://doc.qt.io/qt-5/qabstractitemmodel.html 来实现自己的模型

【讨论】:

唯一的是我访问的FS是通过MTP堆栈。我认为 FileSystemModel 是模式链接到本地​​机器的 FS

以上是关于如何与 TreeView 共享数据,例如 gtk_list_store的主要内容,如果未能解决你的问题,请参考以下文章

GTK Glade C - Treeview选择奇怪的段错误

Gtk+ 删除 Gtk::Treeview 上第一列的填充/边距

GTK之treeview的手记1

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

为啥 Gdk::Pixbufs 在 Gtk::TreeView 中不可见?

GTK3 在 TreeView 中为 RTL 语言(如希伯来语)渲染文本