Exemple #1
0
	def __init__(self, parent=None):
		QtGui.QWidget.__init__(self, parent)
        	self.ui_ = Ui_CorrectApplicationGui()
        	self.ui_.setupUi(self)

		self.connect(self.ui_.pushButton, QtCore.SIGNAL('clicked()'),
				self.lerDadosDoArquivo)
		self.connect(self.ui_.pushButton_2, QtCore.SIGNAL('clicked()'),
				self.selecionarImagens)
		self.connect(self.ui_.pushButton_4, QtCore.SIGNAL('clicked()'),
				self.sair)	
		self.connect(self.ui_.pushButton_3, QtCore.SIGNAL('clicked()'),
				self.corrigir)

		self.connect(self.ui_.metodo, QtCore.SIGNAL('currentIndexChanged(const QString)'),
				self.metodoChanged)

		#self.connect(self.ui_.quitBnt, QtCore.SIGNAL('clicked()'), self.fileExit)

		self.listaDeArquivos = None
Exemple #2
0
class UI (QtGui.QMainWindow):
	def __init__(self, parent=None):
		QtGui.QWidget.__init__(self, parent)
        	self.ui_ = Ui_CorrectApplicationGui()
        	self.ui_.setupUi(self)

		self.connect(self.ui_.pushButton, QtCore.SIGNAL('clicked()'),
				self.lerDadosDoArquivo)
		self.connect(self.ui_.pushButton_2, QtCore.SIGNAL('clicked()'),
				self.selecionarImagens)
		self.connect(self.ui_.pushButton_4, QtCore.SIGNAL('clicked()'),
				self.sair)	
		self.connect(self.ui_.pushButton_3, QtCore.SIGNAL('clicked()'),
				self.corrigir)

		self.connect(self.ui_.metodo, QtCore.SIGNAL('currentIndexChanged(const QString)'),
				self.metodoChanged)

		#self.connect(self.ui_.quitBnt, QtCore.SIGNAL('clicked()'), self.fileExit)

		self.listaDeArquivos = None

	def metodoChanged(self, value):
		if value == "Metodo 2":
			print "Desabilitando"
			self.ui_.lineEdit_2.setReadOnly(True)
			self.ui_.lineEdit_2.setDisabled(True)
			self.ui_.lineEdit_2.setText("100")
			self.ui_.lineEdit_6.setReadOnly(True)
			self.ui_.lineEdit_6.setDisabled(True)
			self.ui_.lineEdit_6.setText("0")
			self.ui_.groupBox_2.setDisabled(True)
			#self.ui_.groupBox_3.setDisabled(True)
			self.ui_.radioButton_3.setChecked(True)
			#self.ui_.radioButton_5.setChecked(True)
		else:
			self.ui_.lineEdit_2.setReadOnly(False)
			self.ui_.lineEdit_2.setDisabled(False)
			self.ui_.lineEdit_2.setText("100")
			self.ui_.lineEdit_6.setReadOnly(False)
			self.ui_.lineEdit_6.setDisabled(False)
			self.ui_.lineEdit_6.setText("0")
			self.ui_.groupBox_2.setDisabled(False)
			#self.ui_.groupBox_3.setDisabled(False)

			print "Habilitando"

	def lerDadosDoArquivo(self):
		fileName = QtGui.QFileDialog.getOpenFileName(self, "Selecione o arquivo", "", "Arquivos XML (*.xml)")
		print "fileName: " + str(fileName)
		if fileName != None:
			print str(fileName)
			mdom = minidom.parse(str(fileName))

			node = mdom.documentElement

			for child in node.childNodes:
				if node.nodeType == Node.ELEMENT_NODE and child.nodeName == "variaveis":
					da, de, p, n = None, None, None, None
					print 'Element name: %s' % child.nodeName
					for (name, value) in child.attributes.items():
						print 'Element name: %s %s' % (name, value)
						if name == 'daltonismo':
							da = value
						if name == 'deutan':
							de = value
						if name == 'protan':
							p = value
						if name == 'normalismo':
							n = value

					self.ui_.lineEdit_2.setText(da)
					self.ui_.lineEdit_3.setText(p)
					self.ui_.lineEdit_4.setText(de)
					self.ui_.lineEdit_6.setText(n)


	def selecionarImagens(self):
		fileNames = QtGui.QFileDialog.getOpenFileNames(self, "Selecione as imagens", "", 
					"Arquivos de Imagem (*.bmp *.gif *.jpg *.jpeg *.tiff *.png);;Todos os arquivos (*)"
					)
		self.path = str(fileNames[0])
		i = 1
		while (i<len(fileNames)):
			self.path = self.path + "; " + str(fileNames[i])
			i = i + 1

		self.ui_.lineEdit_5.setText(self.path)
		
		self.listaDeArquivos = fileNames

	def sair(self):
		quit()

	def corrigir(self):
		if self.listaDeArquivos == None:
			print "Todos os campos devem ser preenchidos"
			self.sair()

		self.da = int(self.ui_.lineEdit_2.text())
		self.p = int(self.ui_.lineEdit_3.text())
		self.de = int(self.ui_.lineEdit_4.text())
		self.n = int(self.ui_.lineEdit_6.text())

		self.rgb = self.ui_.radioButton_3.isChecked()
		self.histograma = self.ui_.radioButton_5.isChecked()

		print "Corrigindo..."
		print "Usar Modelo de cor RGB? " + str(self.rgb)
		print "Fazer equalizacao do histograma? " + str(self.histograma)
		print "Utlizando imagens (Total: " + str(len(self.listaDeArquivos)) + "): " + self.path
		print "Utilizando parametros: "
		print "   daltonismo: " + str(self.da)
		print "       deutan: " + str(self.de)
		print "       protan: " + str(self.p)
		print "   normalismo: " + str(self.n)
		print "Comecando..." 

		if str(self.ui_.metodo.currentText()) == "Metodo 2":
			e = NewCorrecaoEngine(self.da, self.de, self.p, self.n, self.listaDeArquivos, self.rgb, self.histograma)
		else:
			e = CorrecaoEngine(self.da, self.de, self.p, self.n, self.listaDeArquivos, self.rgb, self.histograma)

		self.resultado = e.start(None)
		self.correcaoTerminada(self.resultado)





	def correcaoTerminada(self, resultado):
		self.res = Resposta()
		self.res.show()
		self.res.ui_.da.setText(str(self.da))
		self.res.ui_.de.setText(str(self.de))
		self.res.ui_.p.setText(str(self.p))
		self.res.ui_.n.setText(str(self.n))
		self.res.ui_.n.setText(str(self.n))
		self.res.imagens = resultado

		if self.rgb == True:
			padrao = "RGB"
		else:
			padrao = "LMS"

		if self.histograma == True:
			hist = "Sim"
		else:
			hist = "Nao"

		self.res.ui_.rgb.setText(str(padrao))
		self.res.ui_.histograma.setText(str(hist))
		
		self.res.ui_.tableWidget.setRowCount(len(resultado));
		self.res.ui_.tableWidget.setColumnCount(2);

		j = 0
		while j < len(resultado):
			a1 = QtGui.QTableWidgetItem()
			a2 = QtGui.QTableWidgetItem()


			x1 = QtGui.QPixmap(str(resultado[j][1]))
			x2 = QtGui.QPixmap(str(resultado[j][2]))
			i1 = QtGui.QIcon(x1)
			i2 = QtGui.QIcon(x2)

			a1.setIcon(i1)
			a2.setIcon(i2)
	
			print "res 1: " + str(resultado[j][1])
			print "res 2: " + str(resultado[j][2])

			self.res.ui_.tableWidget.setItem(j, 0, a1)
			self.res.ui_.tableWidget.setItem(j, 1, a2)

			j = j + 1

		self.res.ui_.tableWidget.show()
		self.res.ui_.tableWidget.resizeColumnsToContents()
		self.res.ui_.tableWidget.resizeRowsToContents()
		self.res.ui_.tableWidget.show()



		print "Janela? " + str(self.resultado)