Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » PyQt4: еще один "нубский" вопрос при некласическом применении [RSS Feed]

#1 Июнь 7, 2011 20:05:09

Ginibe
От:
Зарегистрирован: 2011-04-19
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt4: еще один "нубский" вопрос при некласическом применении

начальные условия:
- 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 ()
спасибо за внимание…



Офлайн

#2 Июнь 8, 2011 07:29:59

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

PyQt4: еще один "нубский" вопрос при некласическом применении

Даже разбираться в коде не буду) сначала перепишите все в нормальном виде)
Во-первых создайте главное окно (ну или постарайтесь:) в PyQt есть ДОСТАТОЧНОЕ количество примеров, так что даже с ООП разбираться не придется) тогда диалоги будут дочерними от главного окна и проблем быть не должно.
Во-вторых в диалоге надо проверять результат, т.е. нажал ли пользователь ОК или ОТМЕНА, потому как стоит юзеру в вашей программе нажать ОТМЕНА и она ляжет) посмотрите какой метод возвращает результат диалога (там должно быть булевое значение тру: пользователь выбрал файл, фальш: пользователь нажал отмена).
Что-то еще пояснить?



Офлайн

#3 Июнь 8, 2011 09:27:03

Ginibe
От:
Зарегистрирован: 2011-04-19
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt4: еще один "нубский" вопрос при некласическом применении

dartNNN
… думал без этих наворотов с главным окном, ну лишнее оно ….
благодарю за пояснение, думаю что понял Вас правильно, доведу до ума - отпишу
с уважением!



Отредактировано (Июнь 8, 2011 09:31:40)

Офлайн

  • Начало
  • » GUI
  • » PyQt4: еще один "нубский" вопрос при некласическом применении[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version