Найти - Пользователи
Полная версия: PyQt4: еще один "нубский" вопрос при некласическом применении
Начало » GUI » PyQt4: еще один "нубский" вопрос при некласическом применении
1
Ginibe
начальные условия:
- 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 ()
спасибо за внимание…
dartNNN
Даже разбираться в коде не буду) сначала перепишите все в нормальном виде)
Во-первых создайте главное окно (ну или постарайтесь:) в PyQt есть ДОСТАТОЧНОЕ количество примеров, так что даже с ООП разбираться не придется) тогда диалоги будут дочерними от главного окна и проблем быть не должно.
Во-вторых в диалоге надо проверять результат, т.е. нажал ли пользователь ОК или ОТМЕНА, потому как стоит юзеру в вашей программе нажать ОТМЕНА и она ляжет) посмотрите какой метод возвращает результат диалога (там должно быть булевое значение тру: пользователь выбрал файл, фальш: пользователь нажал отмена).
Что-то еще пояснить?
Ginibe
dartNNN
… думал без этих наворотов с главным окном, ну лишнее оно ….
благодарю за пояснение, думаю что понял Вас правильно, доведу до ума - отпишу
с уважением!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB