essa vai ser a jenela.ui:
agora após usar o pyuic:
pyuic4 Janela.ui > Janela.py
o código gerado:
from PyQt4 import QtCore, QtGui
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
_fromUtf8 = lambda s: s
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.resize(317, 228)
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "Simples Programa", None, QtGui.QApplication.UnicodeUTF8))
agora vamos criar o arquivo principal Programa.py:
import sys
from PyQt4.QtGui import QApplication, QMainWindow
from Janela import Ui_MainWindow
class JanelaPrincipal(QMainWindow, Ui_MainWindow):
def __init__(self):
QMainWindow.__init__(self)
self.setupUi(self)
app = QApplication(sys.argv)
janela = JanelaPrincipal()
janela.show()
sys.exit(app.exec_())
agora, comentar o código:
import sys
from PyQt4.QtGui import QApplication, QMainWindow
aqui importamos as bibliotecas que iremos utilizar
from Janela import Ui_MainWindow
aqui também iremos importar, mas nesse caso a janela que criamos com o QtDesigner
class JanelaPrincipal(QMainWindow, Ui_MainWindow):
aqui criamos a classe JanelaPrincipal e herdamos as classes QMainWindow e Ui_MainWindow
def __init__(self):
QMainWindow.__init__(self)
self.setupUi(self)
aqui definimos o construtor e iniciamos o construtor também da classe herdada QMainWindow e executamos o metódo setupUi() de construção da janela que foi herdado da Ui_MainWindow e passamos como parâmetro a própria class pois ela herda da classe QMainWindow
app = QApplication(sys.argv)
janela = JanelaPrincipal()
janela.show()
sys.exit(app.exec_())
aqui criamos a aplicação, a instância da classe JanelaPrincipal e chamamos o método público show() para criar a janela, e finalizamos com sys.exit(app.exec_()) para executar a aplicação
está aí, simples não é?
até a próxima...
2 comentários:
Valeu amigo! O meu não estava rodando porque estava inicializando a classe de forma errada, mas ao ver a sua def __init__ corrigi e agora tudo funciona! Muito Obrigado por ter compartilhado seu conhecimento! Deus lhe abençoe !!!
Amém Rodrigo Hass, qualquer coisa estamos aí...
Postar um comentário