2017-12-12 13 views
1

私はwxpythonを初めて使っていますので、私の質問が繰り返されたら私を許してください。また、私はいくつかの同様の質問を見て、解決策を試みたが、すべて同じ結果に終わった - これは今私の質問です。私の環境では、ここに私のコードGenericDirCtrlは、常にC:から始まるPC全体を表示します。カスタムディレクトリを自分のルートとして設定する方法は?

sizer = wx.BoxSizer(wx.VERTICAL) 
DirectoryNameHere = "F:\\MyCaseWorkSpace" 
self.folder_tree_project = wx.GenericDirCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(200, 450), 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) 
sizer.Add(self.folder_tree_project,1,wx.ALL | wx.EXPAND) 

だのpython 3.6およびWindows 10です。しかし、結果は以下のようなものです:

Windows(C:) 
Recovery(D:) 
DVD RW Drive(E:) 
New Volume(F:) 
F:\MyCaseWorkSpace 

私はファイルとパスを試してみました:/エクストラと///、パス、 Unixスタイルのパス、Windowsスタイルのパスが、毎回上記のような結果になります。

私の要件は、ディレクトリパスを入力として使用し、その中のすべてのファイルとフォルダ(フィルタ付き)をツリーとして表示することです。

助けてください。

+0

この情報はお役に立ちましたか? - https://stackoverflow.com/questions/36865659/how-to-set-the-genericdirctrl-to-show-custom-folder-as-top-directory-in-wxpython –

+0

ありがとう迅速な対応のためにマイク。私はそのポストを通過し、解決策は機能しません。 ( –

+0

'GenericDirCtrl'をサブクラス化する方法があることを示すこのスレッドが見つかりましたが、例は提供されていませんでした - http://wxpython-users.1045709.n5.nabble.com/Can-あなたが設定したルートルートディレクトリ(wx-GenericDirCtrl-td2311294.html) –

答えて

0

これはではありません。質問に対する回答です。 wxPythonは、フレームのサイズに応じて、選択したフォルダを必ずしもビューに移動しないという点で、失望しています。それでも、それはあなたを近づけるかもしれません。

import wx 

class TestFrame(wx.Frame): 
    def __init__(self, parent): 
     wx.Frame.__init__(self, parent, -1, 'test', size=(500,700)) 

     dir3 = wx.GenericDirCtrl(self, -1, 
         dir='C:/Television', 
           style=wx.DIRCTRL_SHOW_FILTERS | 
             wx.DIRCTRL_3D_INTERNAL | 
             wx.DIRCTRL_MULTIPLE, 
           filter="Python files (*.py)|*.py") 

app = wx.App() 

frm = TestFrame(None) 
frm.Show() 
app.MainLoop() 

これはこのモックアプリケーションの外観です。

app

ほとんど忘れてしまった:dirパラメータを使用します。

関連する問題