Создание простой формы с помощью qt-designer и pyqt

Я Пытаюсь запустить свое первое приложение на pyqt. Моя форма выглядит нормально, когда я делаю предварительный просмотр в дизайнере:

http://imageshack.us/photo/my-images/171/screenshotuw.png/

Но если я показываю ее из своего скрипта, я получил:

http://imageshack.us/photo/my-images/268/screenshot1hwn.png/

И информацию в терминале: QLayout: Попытка добавить QLayout "" в MyForm "Form", в которой уже есть макет

Вопрос в том, что не так с моим дизайном?

Файл, созданный 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))

И мой скрипт, который использует Это: import sys из PyQt4 import 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_())

Я создал форму с помощью конструктора и получил файл gui.ui:



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

5
задан Adam 15 March 2012 в 11:39
поделиться