Ir para conteúdo
Fórum Script Brasil

Mateus1234567

Membros
  • Total de itens

    4
  • Registro em

  • Última visita

Sobre Mateus1234567

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

Mateus1234567's Achievements

0

Reputação

  1. Depois de muito esforço aqui encontrei a resposta do Youtube e no GitHub, vou postar aqui caso alguém precise e acabe achando esse tópico. Eu estou usando o Qt Designer + pyuic4 para gerar o código da tela, o problema é que o pyuic4 n gera m metodo __init__ no código, então, dentro da classe do form é preciso criar manualmente, ficao assim: class Ui_frInserir(QtGui.QDialog): def __init__(self): QtGui.QDialog.__init__(self) self.setupUi(self) No caso é um QDialog, mas poderia ser um QWidget sem problema. se você precisa passar informações pro formulário que vai ser aberto a duas maneiras, declarar o __init__ tendo parâmetros além do self e fazer as aplicações dentro do init, ou na chamada do form como eu fiz. def AbreForm(self,sinal): self.f = Ui_frInserir() self.f.sinal = sinal self.f.exec() self.lblResp.setText(str(self.f.resposta)) A ultima linha está capturando uma variável que estava dentro da classe do form e jogando como texto numa label. Dps que fiz dessa maneira um simples self.close() fechou o formulário que eu havia aberto.
  2. O ultimo print deveria ser: print('A Palavra Digitada %s tem %i caracteres' %(a, b))
  3. Depois de muito esforço consegui fazer o formulário abrir com o seguinte código Form = QtGui.QDialog() ui = Ui_frInserir() ui.setupUi(Form) ui.sinal = sinal Form.setModal(True) Form.exec() Meu problema agr é fechar o formulário com um botão. Dentro do metodo btnCalcular_Clicked já tentei colocar self.reject(), self.accept() e self.close() só que n acontece nada. Como faço para fechar um formulário? E para capturar a resposta dps de fechado é só colocar ui.resposta?
  4. Estou começando a aprender python agora e decidi aprender a interface gráfica QT. Só que surgiu uma dúvida ao realizar um exercício que envolvia a abertura de um formulário e a passagem de informação entre o 1° e o 2° formulário. O 1° formulário possui 4 botões (+,-,/,*) que quando pressionados abrem um novo formulário onde é pedido para digitar 2 números e a operação escolhida é realizada e o formulário fechado, a resposta aparece em uma label no 1° formulário. Pra passar o sinal e a resposta criei 2 variáveis Class UiForm(Object): sinal = '' resposta = 0 def btnCalcular_Clicked(self): try: if self.sinal == '+': self.resposta = float(self.txt1.text()) + float(self.txt2.text()) elif self.sinal == '-': self.resposta = float(self.txt1.text()) - float(self.txt2.text()) elif self.sinal == '/': self.resposta = float(self.txt1.text()) / float(self.txt2.text()) elif self.sinal == '*': self.resposta = float(self.txt1.text()) * float(self.txt2.text()) except: QtGui.QMessageBox.warning(None, "Erro", 'Digite números válidos') O problema mesmo é para chamar o formulário, já tentei de diversas maneiras. Aqui vai algumas delas e os erros q deram. btnMais_Clicked(self): import sys app = QtGui.QApplication(sys.argv) Form = QtGui.QWidget() ui = Ui_Form() ui.setupUi(Form) Form.show() sys.exit(app.exec_()) Erro: The event looping is already running def btnMais_Clicked(self): MainWindow = QtGui.QMainWindow() ui = Ui_Form() ui.setupUi(MainWindow) MainWindow.show() Erro: Um pequeno form até abre, mas fecha instantaneamente def btnMais_Clicked(self): f = Ui_Form() f.show() Erro: Ui_Form Object has no attribute show
×
×
  • Criar Novo...