gpt4 book ai didi

c++ - 项目的 QTreeWidget

转载 作者:行者123 更新时间:2023-11-28 03:52:16 27 4
gpt4 key购买 nike

嗯。我正在开发一个 IDE。你们中的一些人可能看到了一篇关于它的帖子。好吧,我不知道 QTreeWidget 和 QtreeWidgetItem 是如何工作的,因为找不到演示并且文档也没有帮助。好吧,我正在尝试做的是一个 IDE,您可以打开项目文件,然后将项目的所有文件包含到树中。 (项目文件中的文件通过执行#include "filename"来包含)。我该怎么做?然后你点击一个文件并在选项卡中打开它(那是在其他问题上)。所以在这部分我只需要一个如何点击文件的例子。 :)

最佳答案

一个简单的解决方案是直接使用 QTreeWidgetItem。对于项目中的每个文件,创建一个 QTreeWidgetItem 实例:

QTreeWidgetItem *file = new QTreeWidgetItem(browserWidget);
file->setText(0, filename);

“文件名”是一个包含文件名的字符串。您可以通过解析项目文件查找以“#include”开头的行来获取文件名。

通过在新项的构造函数中传递另一个 QTreeWidgetItem,可以使新项成为另一个项的子项。这样你就可以创建目录结构。

要打开文件,您可以连接到 QTreeWidget 的信号“itemDoubleClicked”。您将获得指向被单击的小部件项目的指针。调用“text()”将检索文件名。如果您有一个目录结构,您也需要为所有父小部件项执行此操作。通过连接字符串,您将获得文件的路径。

您可以在 Qt Docs 中找到这方面的示例(参见文件 settingtree.cpp)

只要您的 IDE 保持简单,这就足够了。一个更灵活和“面向对象”的解决方案是创建 QTreeWidgetItem 的子类。您将需要覆盖一些方法。由于您可能只需要只读访问 Qt Docs 中描述的四种方法就够了。

关于c++ - 项目的 QTreeWidget,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5056059/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com