[pyar] duda de pyqt4, abriendo nuevas ventanas

Matias Graña matias.alejo en gmail.com
Lun Nov 29 01:51:16 ART 2010


Estoy intentando hacer una mini aplicación con PyQt4. Tengo un
problema al abrir una nueva ventana. A los bifes; el código es:

------------------------------
from PyQt4 import QtCore, QtGui, QtWebKit

class Foo(QtGui.QMainWindow):
    def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent)
        self.mw = Ui_MainWindow()
        self.mw.setupUi(self)

    def keyPressEvent(self, event):
        key = event.key()
        if key == QtCore.Qt.Key_O:
            self.abrir_pagina()

    def abrir_pagina(self):
        web = QtWebKit.QWebView()
        web.load(QtCore.QUrl('http://google.com.ar'))
        web.show()

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")

if __name__ == '__main__':
    app = QtGui.QApplication([])
    foo = Foo()
    foo.show()
    app.exec_()
---------------------------------------

Esto abre una ventanita en blanco, y cuando aprieto 'o' no hace nada.
Yo esperaría que abriera una ventana con webkit en google. Bah, quizás
la abre y la cierra tan rápido que no se alcanza a ver; de hecho a
veces se ve un parpadeo.
Lo raro, para mí que no entiendo un corno, es que si al método
abrir_pagina le hago tirar una excepción, como acá:

    def abrir_pagina(self):
        web = QtWebKit.QWebView()
        web.load(QtCore.QUrl('http://google.com.ar'))
        web.show()
        assert 0==1

entonces abre la ventana tal cual yo lo espero. Claro, no quiero andar
tirando excepciones cuando no se debe, y además me gustaría entender
por qué no anda el original. Qué es lo que hago mal?

Gracias,
-- Matías Graña



More information about the pyar mailing list