Найти - Пользователи
Полная версия: PyQT4, передача данных с сигнала
Начало » GUI » PyQT4, передача данных с сигнала
1
dreamer-s
Есть 2 файла, А и В. В описано все, что касается GUI, когда А файл импортирует В. создавал в Designer, конвертировал в питоновский код и позже правил как необходимо было. В модуле В реализовано диалоговое окно аутентификации. В зависимости от того, кто логинится, должно быть то или иное последующее окно. Упрощая примерно так все будет:

from PyQt4 import QtCore, QtGui
import sys
try:
	_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
	_fromUtf8 = lambda s: s
class Ui_Dialog(QtGui.QDialog):
	def __init__(self, fname, fhost, fport):
		super(Ui_Dialog, self).__init__()
	def setupUi(self, Dialog):
		................
		QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.close)
		QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), lambda :self.dialogResult(Dialog)) 
		QtCore.QMetaObject.connectSlotsByName(Dialog)
	def showDialogError(self, text):
		QtGui.QMessageBox.critical(self, self.toUtf("Ошибка"), self.toUtf(text), QtGui.QMessageBox.Ok, QtGui.QMessageBox.Ok)
	def dialogResult(self, Dialog):
		# производятся некоторые действия и пусть переменная "ааа" принимает значение "1"
		Dialog.close()
	def toUtf(self, text):
		return QtGui.QApplication.translate("Dialog", text, None, QtGui.QApplication.UnicodeUTF8)
def initGui():
	app = QtGui.QApplication(sys.argv)
	MainDial = QtGui.QDialog()
	form = Ui_Dialog()
	form.setupUi(MainDial)
	return app, form, MainDial

как мне реализовать, чтобы переменная “ааа” была видна в initGui, чтобы можно было ретурнуть ее. Ее значение должно использоваться в модуле А. Я надеюсь, что не запутанно описал. Заранее благодарен
truporez
У QDialog есть метод setResult, есть вам достаточно int. Если нет, то можно так:
def dialogResult(self, Dialog):
# производятся некоторые действия и пусть переменная "ааа" принимает значение "1"
self.aaa = 1
Dialog.close()
dreamer-s
оу, спасибо за setResult, но да, там строки и с self.aaa = 1 (self.aaa = “qwerty”) все равно непонятно
dreamer-s
эээм…. До меня дошло. Спасибо огромное. Да, я не подумал о self. Все получилось
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