2016-03-23 11 views
0

私はvfxプロジェクトと同じフォルダ構造を持っています。私は、フォルダ構造に基づいてファイルを開くために少しUIを作ろうとしています。ここに私が立ち往生しているところです:QComboBoxの複数のディレクトリ選択

私は3を持っていますQComboBox。私は彼らにディレクトリ構造から引き抜きたい。私のディレクトリ構造は/mnt/sv01/projects_directory/*projectname/sequences/*seq###/*shot###/comp/filename.comp

です。アスタリスクは変更されたフォルダ名であり、ユーザーは3つの別々のコンボボックスで選択する必要があります。

私はこのような最初のコンボボックスをレイアウト:

fsm = QtGui.QFileSystemModel() 
index = fsm.setRootPath("/mnt/sv01/projects_directory") 
self.project_combo.setModel(fsm) 
self.project_combo.setRootModelIndex(index) 

これは正しくコンボボックスでプロジェクトフォルダが表示されます。次の部分は私が立ち往生している場所です。

self.project_combo.activated[str].connect(self.Directory) 
def Directory(self,item): 
    fsm2 = QtGui.QFileSystemModel() 
    index2 = fsm2.setRootPath(os.path.join("/mnt/sv01/projects_directory",item)) 
    self.seq_combo.setModel(fsm2) 
    self.seq_combo.setRootModelIndex(index2) 

私は非常にPythonに新しく、本当に非常に非常にベアボーンしか知りません。この状況でos.path.joinを使用することはできないようですが、私はコンボボックスの次のディレクトリに移動する必要があります。私は

index2 = fsm2.setRootPath("/mnt/sv01/projects_directory/" + item + "/") 

をすれば、それは私が(それを行うには、粗な方法を考え出し常に起こるようですように、それは、まあシーケンスがコンボボックスにあるものであることと/mnt/sv01/projects_directory/*projectname/sequencesなく*seq###.

答えて

0

をここに戻って私は確信しています)。 私は十分に遠くに行かなかった。私が行を入れた場合 index2 = fsm2.setRootPath("/mnt/sv01/projects_directory/" + item + "/sequences/") 次に、正しいフォルダが見つかります。少年、まったく清潔ではないが動作する。