Creando formas simples con qt-designer y pyqt

Estoy tratando de ejecutar mi primera aplicación en pyqt. Mi formulario se ve bien cuando estoy haciendo una vista previa en el diseñador:

http://sofes.miximages.com/user-interface//

Pero si lo muestro desde mi guión obtuve:

http://sofes.miximages.com/user-interface//

Y la información en el terminal: QLayout: Intentando agregar QLayout “” a MyForm “Form”, que ya tiene un diseño

La pregunta es, ¿qué está mal con mi diseño?

Archivo generado por pyuic4:

# -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'gui.ui' # # Created: Tue Aug 23 11:17:30 2011 # by: PyQt4 UI code generator 4.7.2 # # WARNING! All changes made in this file will be lost! from PyQt4 import QtCore, QtGui class Ui_Form(object): def setupUi(self, Form): Form.setObjectName("Form") Form.resize(464, 409) self.verticalLayout_2 = QtGui.QVBoxLayout(Form) self.verticalLayout_2.setObjectName("verticalLayout_2") self.horizontalLayout = QtGui.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.listView = QtGui.QListView(Form) self.listView.setObjectName("listView") self.horizontalLayout.addWidget(self.listView) self.verticalLayout = QtGui.QVBoxLayout() self.verticalLayout.setObjectName("verticalLayout") self.pushButton = QtGui.QPushButton(Form) self.pushButton.setObjectName("pushButton") self.verticalLayout.addWidget(self.pushButton) self.pushButton_2 = QtGui.QPushButton(Form) self.pushButton_2.setObjectName("pushButton_2") self.verticalLayout.addWidget(self.pushButton_2) spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.verticalLayout.addItem(spacerItem) self.pushButton_3 = QtGui.QPushButton(Form) self.pushButton_3.setObjectName("pushButton_3") self.verticalLayout.addWidget(self.pushButton_3) self.horizontalLayout.addLayout(self.verticalLayout) self.verticalLayout_2.addLayout(self.horizontalLayout) self.textBrowser = QtGui.QTextBrowser(Form) self.textBrowser.setObjectName("textBrowser") self.verticalLayout_2.addWidget(self.textBrowser) self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form) def retranslateUi(self, Form): Form.setWindowTitle(QtGui.QApplication.translate("Form", "Form", None, QtGui.QApplication.UnicodeUTF8)) self.pushButton.setText(QtGui.QApplication.translate("Form", "PushButton", None, QtGui.QApplication.UnicodeUTF8)) self.pushButton_2.setText(QtGui.QApplication.translate("Form", "PushButton", None, QtGui.QApplication.UnicodeUTF8)) self.pushButton_3.setText(QtGui.QApplication.translate("Form", "PushButton", None, QtGui.QApplication.UnicodeUTF8)) 

Y mi script que lo está usando: importar sys desde PyQt4, importar QtCore, QtGui

  from gen import Ui_Form class MyForm(QtGui.QMainWindow): def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.ui = Ui_Form() self.ui.setupUi(self) def execute_event(self): pass def execute_all_event(self): pass def reload_event(self): pass if __name__ == "__main__": app = QtGui.QApplication(sys.argv) myapp = MyForm() myapp.show() sys.exit(app.exec_()) 

Creé el formulario usando el diseñador y obtuve el archivo gui.ui:

   Form    0 0 464 409    Form             PushButton       PushButton       Qt::Vertical    20 40        PushButton                

Diría que ha diseñado un QWidget en el diseñador y que crea un QMainWindow . Reemplazar

 class MyForm(QtGui.QMainWindow) 

por

 class MyForm(QtGui.QWidget)