Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: AkRender от Июнь 27, 2011, 16:59



Название: QTreeWidget и файловая система.
Отправлено: AkRender от Июнь 27, 2011, 16:59
Привет, надеюсь на помощь). Недавно начал изучать PyQT, поставил себе задачу написать утилиту (для своих целей), которая позволяла выводить дерево из папок и файлов используя QTreeWidget. Написал рекурсию для папок, построил дерево в QTreeWidget - гуляю по папкам и файлам спокойно, но теперь столкнулся с проблемой нахождения пути к файлу (скажем, по двойному щелчку мне необходимо что-то сделать с ним). Ниже привожу свой код на рекурсию для файловой системы с последующим занесением родителей и потомков в QTreeWidget, видимо, где-то здесь нужно внедрять работу именно с файлами, чтобы получались пути, а не просто списки, помогите разобраться пожалуйста).  ???


def mainFolder(self, path, parent):
         for name in os.listdir(path):                 #по пути листим все файлы и папки
            fullpath = os.path.join(path, name)    #совмещаем имя объекта в списке файлов с путем (получаем полный путь)
            if os.path.isdir(fullpath):                  #если дериктория
               folder = QTreeWidgetItem(parent, QStringList([name]))   #создаем элемент folder для QTreeWidget (родитель QTreeWidget)
               self.mainFolder(fullpath, folder)                                    #запускаем рекурсию
            else:                                                                         #если файл
               child = QTreeWidgetItem(parent, QStringList([name]))     #создаем элемент child для QTreeWidget (родитель папка)


Название: Re: QTreeWidget и файловая система.
Отправлено: Авварон от Июнь 27, 2011, 22:19
QTreeView+QFileSystemModel


Название: Re: QTreeWidget и файловая система.
Отправлено: AkRender от Июнь 28, 2011, 11:21
Спасибо, разобрался, а возможно этим способом вывести, скажем две рут директории, а не одну?