Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 14, 2010 10:48:40

kzoi_py
От:
Зарегистрирован: 2009-02-01
Сообщения: 74
Репутация: +  0  -
Профиль   Отправить e-mail  

вопрос о QFileialog

Доброго дня всем. В каталоге с программой держу папку в которой профили. Хотелось бы чтоб открывался файловый диалог сразу в папке с профилями. Вот достижения

def w3_OpenDialog(self):
root = "\\profile\\"
dlg = QtGui.QFileDialog()
f = dlg.directory()
f.setPath(f.path()+root)
dlg.setDirectory(f)
gname = dlg.getOpenFileName()
В общем диалог откывается в каталоге проекта, а не в профилях. За ранее спасибо.



Отредактировано (Фев. 14, 2010 10:49:39)

Офлайн

#2 Фев. 14, 2010 15:10:37

dartNNN
От:
Зарегистрирован: 2009-12-08
Сообщения: 199
Репутация: +  0  -
Профиль   Отправить e-mail  

вопрос о QFileialog

Проверь что у тебя находится в f.path() и попробуй f.absolutePath().



Офлайн

#3 Фев. 14, 2010 15:55:00

kzoi_py
От:
Зарегистрирован: 2009-02-01
Сообщения: 74
Репутация: +  0  -
Профиль   Отправить e-mail  

вопрос о QFileialog

нужный путь оказывается дефолтным до вызова диалога. Но диалог вываливается всё равно в корневом каталоге проекта. Проверял.



Офлайн

#4 Фев. 14, 2010 16:40:14

truporez
От:
Зарегистрирован: 2009-05-08
Сообщения: 266
Репутация: +  6  -
Профиль   Адрес электронной почты  

вопрос о QFileialog

вместо “+” лучше использовать os.path.join
попробуйте вот так:

def w3_OpenDialog(self):
root = "profile"
dlg = QtGui.QFileDialog()
f = dlg.directory()
f.setPath( os.path.join(f.path(), root) )
dlg.setDirectory(f)
gname = dlg.getOpenFileName()



Офлайн

#5 Фев. 14, 2010 17:07:05

kzoi_py
От:
Зарегистрирован: 2009-02-01
Сообщения: 74
Репутация: +  0  -
Профиль   Отправить e-mail  

вопрос о QFileialog

не помогло ((



Офлайн

#6 Фев. 14, 2010 18:28:29

truporez
От:
Зарегистрирован: 2009-05-08
Сообщения: 266
Репутация: +  6  -
Профиль   Адрес электронной почты  

вопрос о QFileialog

А вот у вас вызывается метод directory, а с чего вы взяли что “currently being displayed in the dialog” именно ваша корневая директория? У меня это совершенно не соответствует истине.



Офлайн

#7 Фев. 14, 2010 18:41:15

kzoi_py
От:
Зарегистрирован: 2009-02-01
Сообщения: 74
Репутация: +  0  -
Профиль   Отправить e-mail  

вопрос о QFileialog

мммм… я создаю дескриптор папки или объект Directory. На основе его я могу выяснить какая папка текущая и…. исходя из метода setPath сменить директорию. Самое интересное что вывод переменной f до смены текущей папки и после такой как полагается. А диалог отображается будто я не менял директории.



Офлайн

#8 Фев. 15, 2010 12:31:15

dartNNN
От:
Зарегистрирован: 2009-12-08
Сообщения: 199
Репутация: +  0  -
Профиль   Отправить e-mail  

вопрос о QFileialog

А еще можно непосредственно в getOpenFileName() передать нужную директорию

getOpenFileName (QWidget parent = None, QString caption = QString(), QString directory = QString(), QString filter = QString(), Options options = 0)



Офлайн

#9 Фев. 16, 2010 08:43:22

kzoi_py
От:
Зарегистрирован: 2009-02-01
Сообщения: 74
Репутация: +  0  -
Профиль   Отправить e-mail  

вопрос о QFileialog

мерси )



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version