Форум сайта python.su
0
начальные условия:
- Windows XP SP3
- Python 2.7.1
- PyQT4
представьте себе - Виндоза: пасажиры умеют тискать токо две клавиши…. левую и правую… я про мышь, ну еще истошно крутить колесом… хотя PageUp&Down на клаве, как по мне, работают быстрее :)
есть обработчик текстовых форматов для которого необходимо имя файла-источника и каталог результата
пока не разобрался с высокими материями ООП Python-а, но уже воспользовался замечательным PyQt
одно огорчает, при повтором вызове QFileDialog окошечко виджета не активно…. :(
приходится выбирать его через Alt-Tab (Менеджер задач)
? можно ли каким-либо образом QFileDialog.getExistingDirectory вывести сразу поверх открытых окон ?
собственно фрагмент незатейливой задачки:
# -*- coding: utf-8 -*-
import sys
import xlrd
import string
from PyQt4 import Qt
from PyQt4 import QtGui
from PyQt4 import QtCore #указан для корректной отработки py2exe... и толлько !
app = QtGui.QApplication(sys.argv)
#определяем имя файла, формат: xls
fi = unicode(QtGui.QFileDialog.getOpenFileName (Qt.QWidget(), u'Указать файл', './', 'Excel MS Office (*.xls)',))
#определяем каталог и имя обработанного
fo_dir = unicode(QtGui.QFileDialog.getExistingDirectory (Qt.QWidget(),u'Указать каталог для сохранения обработанной таблицы', './', QtGui.QFileDialog.ShowDirsOnly))
nameFile = fo_dir + "/out.txt"
fo = open(nameFile, 'w')
'''
собственно код обработчика
'''
fo.close ()
Офлайн
0
Даже разбираться в коде не буду) сначала перепишите все в нормальном виде)
Во-первых создайте главное окно (ну или постарайтесь:) в PyQt есть ДОСТАТОЧНОЕ количество примеров, так что даже с ООП разбираться не придется) тогда диалоги будут дочерними от главного окна и проблем быть не должно.
Во-вторых в диалоге надо проверять результат, т.е. нажал ли пользователь ОК или ОТМЕНА, потому как стоит юзеру в вашей программе нажать ОТМЕНА и она ляжет) посмотрите какой метод возвращает результат диалога (там должно быть булевое значение тру: пользователь выбрал файл, фальш: пользователь нажал отмена).
Что-то еще пояснить?
Офлайн
0
dartNNN
… думал без этих наворотов с главным окном, ну лишнее оно ….
благодарю за пояснение, думаю что понял Вас правильно, доведу до ума - отпишу
с уважением!
Отредактировано (Июнь 8, 2011 09:31:40)
Офлайн