QTreeWidget for Projects

好。我正在研究IDE。你们当中有些人可能会看到有关它的帖子。 好吧,我不知道QTreeWidget& QtreeWidgetItem工作,因为找不到演示,文档没有帮助。 好吧,我想要做的是一个IDE,你打开项目文件,然后将项目的所有文件包含在树中。 (通过执行#include“filename”包含项目文件中的文件)。我怎么做的? 然后单击一个文件并在选项卡中打开它(这是在其他问题上)。所以在这部分我只需要一个如何进行文件点击的例子。 :)     
已邀请:
一个简单的解决方案是直接使用QTreeWidgetItem。对于项目中的每个文件,创建一个QTreeWidgetItem实例:
QTreeWidgetItem *file = new QTreeWidgetItem(browserWidget);
 file->setText(0, filename);
其中“filename”是包含文件名称的字符串。您可以通过解析项目文件来查找以“#include”开头的行来获取文件名。 通过在新项的构造函数中传递另一个QTreeWidgetItem,可以使新项成为其他项的子项。这样您就可以创建目录结构。 要打开文件,您可以连接到QTreeWidget的信号“itemDoubleClicked”。您将获得指向所单击的窗口小部件项的指针。调用“text()”将检索文件名。如果您有目录结构,则还需要为所有父窗口小部件项执行此操作。通过连接字符串,您将获得文件的路径。 您可以在Qt Docs中找到相关示例(请参阅文件settingstree.cpp) 只要您的IDE保持简单,这就足够了。更灵活和“面向对象”的解决方案是创建QTreeWidgetItem的子类。您需要覆盖一些方法。由于您可能只需要只读访问权限,因此Qt Docs中描述的四种方法就足够了。     

要回复问题请先登录注册