在wxpython中,如何设置genericdirectrl来显示自定义文件夹作为顶层目录?

2024-09-23 18:30:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我想将我的文件夹显示为wxPython的GenericDirCtrl组件中的顶层目录。我在代码中尝试了SetPath()和path,但它只关注选定的文件夹,而不使其成为树的顶部。在

在表单的构造函数中,我是这样创建的:

self.folder_tree_project = wx.GenericDirCtrl(self.pnl_edit, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(200, -1), wx.DIRCTRL_3D_INTERNAL | wx.SUNKEN_BORDER, wx.EmptyString, 0)

self.folder_tree_project.ShowHidden(False)
bSizer5.Add(self.folder_tree_project, 0, wx.ALL | wx.EXPAND, 5)

然后,我试图使用配置文件中的工作目录更改顶层目录:

^{pr2}$

两者都只是焦点。不更改顶层目录。在

有什么方法或属性来处理它吗?在


Tags: path代码self目录project文件夹treewxpython
1条回答
网友
1楼 · 发布于 2024-09-23 18:30:28

可以使用wx.GenericDirListGetTreeCtrl()函数获取指向wx.TreeCtrl公司属性,然后使用TreeCtrl.AppendItem()将所需目录的名称附加到其根项中。在

但是,它只有目录的名称,而且您必须编写它的功能,方法是绑定鼠标单击并使用附加目录的子文件和子目录手术室步行(或通过任何其他方式),在与wx.TreeCtrl公司指针。在

也许有更好的嵌入wxpythonapi的方法可以做到这一点,但是我在文档中找不到任何东西。在

不管怎样,下面是将目录名添加到wx.TreeCtrl公司指针:

    DirectoryNameHere = "mypath"
    Bsizer = wx.BoxSizer(wx.VERTICAL)
    self.folder_tree_project = wx.GenericDirCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(200, -1), wx.DIRCTRL_3D_INTERNAL | wx.SUNKEN_BORDER, wx.EmptyString, 0)

    self.folder_tree_project.ShowHidden(False)
    Tree = self.folder_tree_project.GetTreeCtrl()
    Tree.AppendItem(Tree.GetRootItem(), DirectoryNameHere)

    Bsizer.Add(self.folder_tree_project,1,wx.ALL | wx.EXPAND)
    self.SetSizer(Bsizer)

相关问题 更多 >