Pesquisar na Comunidade
Mostrando resultados para as tags ''2 formularios''.
Encontrado 1 registro
-
qt4 Usar dois formularios Qt4 designer
uma questão postou Wladimir Cebolinha Outras Linguagens de Programação
Boa tarde. Estou com um problema aqui: Estou usado o QT4 DESIGNER para desenhar dois formulários e, depois utilizando um código em python, através do Formulário 1 chamar o formulário 2. Quando utilizo o comando abaixo, funciona perfeitamente, mas esse comando só serve para chamar através do Shell do Linux, o que faz com que meu programa, não seja portável para Mac Os X ou para Windows. Segue abaixo comando: from subprocess import * executar = call('python Bugio2.py',shell = True) Quero chamar o segundo FORM em MODAL, tal qual se faz em linguagens como o GAMBAS, VISUAL BASIC, LAZARUS ou DELPHI. Assim evito erros que um usuário distraído poderia causar ao usar o meu programa. Abaixo anexos dos dois FORMs feitos em QT4 DESIGNER e o código do programa principal, o qual chama o segundo form. O programa se chama Bugio.py e tem os seguintes forms: Bugio.ui ---> Menu principal Bugio2.ui -> Segundo form Segue o código do primeiro programa, o qual chama o segundo. # -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'Bugio.ui' # # Created by: PyQt4 UI code generator 4.11.4 # # WARNING! All changes made in this file will be lost! from PyQt4 import QtCore, QtGui from subprocess import * try: _fromUtf8 = QtCore.QString.fromUtf8 except AttributeError: def _fromUtf8(s): return s try: _encoding = QtGui.QApplication.UnicodeUTF8 def _translate(context, text, disambig): return QtGui.QApplication.translate(context, text, disambig, _encoding) except AttributeError: def _translate(context, text, disambig): return QtGui.QApplication.translate(context, text, disambig) class Ui_Bugio(object): def setupUi(self, Bugio): Bugio.setObjectName(_fromUtf8("Bugio")) Bugio.resize(800, 600) self.centralwidget = QtGui.QWidget(Bugio) self.centralwidget.setObjectName(_fromUtf8("centralwidget")) Bugio.setCentralWidget(self.centralwidget) self.menubar = QtGui.QMenuBar(Bugio) self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 28)) self.menubar.setObjectName(_fromUtf8("menubar")) self.menuArquivo = QtGui.QMenu(self.menubar) self.menuArquivo.setObjectName(_fromUtf8("menuArquivo")) self.menuCadastros = QtGui.QMenu(self.menuArquivo) self.menuCadastros.setObjectName(_fromUtf8("menuCadastros")) self.menuAjuda = QtGui.QMenu(self.menubar) self.menuAjuda.setObjectName(_fromUtf8("menuAjuda")) Bugio.setMenuBar(self.menubar) self.statusbar = QtGui.QStatusBar(Bugio) self.statusbar.setObjectName(_fromUtf8("statusbar")) Bugio.setStatusBar(self.statusbar) self.actionEditar = QtGui.QAction(Bugio) self.actionEditar.setObjectName(_fromUtf8("actionEditar")) self.actionExcluir = QtGui.QAction(Bugio) self.actionExcluir.setObjectName(_fromUtf8("actionExcluir")) self.actionSair = QtGui.QAction(Bugio) self.actionSair.setObjectName(_fromUtf8("actionSair")) self.Cad_Contatos = QtGui.QAction(Bugio) self.Cad_Contatos.setObjectName(_fromUtf8("Cad_Contatos")) self.Cad_Produtos = QtGui.QAction(Bugio) self.Cad_Produtos.setObjectName(_fromUtf8("Cad_Produtos")) self.Cad_Fornecedores = QtGui.QAction(Bugio) self.Cad_Fornecedores.setObjectName(_fromUtf8("Cad_Fornecedores")) self.Mn_Sobre = QtGui.QAction(Bugio) self.Mn_Sobre.setObjectName(_fromUtf8("Mn_Sobre")) self.menuCadastros.addAction(self.Cad_Contatos) self.menuCadastros.addAction(self.Cad_Produtos) self.menuCadastros.addAction(self.Cad_Fornecedores) self.menuArquivo.addAction(self.menuCadastros.menuAction()) self.menuArquivo.addAction(self.actionEditar) self.menuArquivo.addAction(self.actionExcluir) self.menuArquivo.addSeparator() self.menuArquivo.addAction(self.actionSair) self.menuAjuda.addAction(self.Mn_Sobre) self.menubar.addAction(self.menuArquivo.menuAction()) self.menubar.addAction(self.menuAjuda.menuAction()) self.retranslateUi(Bugio) # Chamada da função pelo menu --> self.Função QtCore.QObject.connect(self.Cad_Contatos, QtCore.SIGNAL(_fromUtf8("activated()")), self.Cadastro) QtCore.QMetaObject.connectSlotsByName(Bugio) def retranslateUi(self, Bugio): Bugio.setWindowTitle(_translate("Bugio", "BUGIO 1.0.0", None)) self.menuArquivo.setTitle(_translate("Bugio", "Arquivo", None)) self.menuCadastros.setTitle(_translate("Bugio", "Cadastros", None)) self.menuAjuda.setTitle(_translate("Bugio", "Ajuda", None)) self.actionEditar.setText(_translate("Bugio", "Editar", None)) self.actionExcluir.setText(_translate("Bugio", "Excluir", None)) self.actionSair.setText(_translate("Bugio", "Sair", None)) self.Cad_Contatos.setText(_translate("Bugio", "Contatos", None)) self.Cad_Produtos.setText(_translate("Bugio", "Produtos", None)) self.Cad_Fornecedores.setText(_translate("Bugio", "Fornecedores", None)) self.Mn_Sobre.setText(_translate("Bugio", "Sobre", None)) def Cadastro(self): # AQUI É CHAMADO O SEGUNDO PRROGRAMA executar = call('python Bugio2.py',shell = True) Bugio2.show() print('Sera que deu certo?') return if __name__ == "__main__": import sys app = QtGui.QApplication(sys.argv) Bugio = QtGui.QMainWindow() ui = Ui_Bugio() ui.setupUi(Bugio) Bugio.show() sys.exit(app.exec_()) OBRIGADO!