21.12.2022 Views

python_para_desenvolvedores_2ed

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

236 Interface Gráfica

</connections>

</ui>

O arquivo de interface define uma janela, da classe QDialog, chamada

“Dialog”, com dois botões, da classe QPushButton, chamados “msg” e “fim”.

Exemplo usando o módulo criado pelo Qt Designer:

# -*- coding: utf-8 -*-

import sys

import time

from PyQt4 import QtCore, QtGui

# Módulo gerado pelo pyuic

from dialog import Ui_Dialog

class Main(QtGui.QMainWindow):

"""

Janela principal

"""

def __init__(self, parent=None):

"""

Inicialização da janela

"""

QtGui.QWidget.__init__(self, parent)

# Cria um objeto a partir da interface gerada pelo pyuic

self.ui = Ui_Dialog()

self.ui.setupUi(self)

# Conecta o método ao botão que foi definido através do Qt Designer

self.connect(self.ui.msg, QtCore.SIGNAL('clicked()'),

self.show_msg)

def show_msg(self):

"""

Método que evoca a caixa de mensagem

"""

reply = QtGui.QMessageBox.question(self, 'Messagem',

'Hora: ' + time.asctime().split()[3],

QtGui.QMessageBox.Ok)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!