Russian Qt Forum
Сентябрь 30, 2024, 12:27 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTreeWidget и файловая система.  (Прочитано 3238 раз)
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 (родитель папка)
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #1 : Июнь 27, 2011, 22:19 »

QTreeView+QFileSystemModel
Записан
AkRender
Гость
« Ответ #2 : Июнь 28, 2011, 11:21 »

Спасибо, разобрался, а возможно этим способом вывести, скажем две рут директории, а не одну?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.186 секунд. Запросов: 23.