如何与 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.ScrolledWindow 中使用 Gtk.TreeView 时出现 GTK 警告