QLayout: Попытка добавить QLayout в форму

Я запускаю python 2.7 на pyqt4 и использую qt designer.

Шаги, которые я предпринимаю, вызывают у меня следующие проблемы:

  1. В стартовом диалоге qt Designer я выбираю "Создать виджет".
  2. Я перетаскиваю виджет в форму (веб-просмотр)
  3. щелкните правой кнопкой мыши на самой форме и выберите Layout->Lay out вертикально
  4. Сохраните файл пользовательского интерфейса и скомпилируйте его в TEST_Form.py
  5. Теперь я запускаю код ниже и получаю сообщение об ошибке

QLayout: Попытка добавить QLayout "" в форму "MyForm ", которая уже имеет макет

import sys
from PyQt4 import QtGui

from TEST_Form 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)


if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    myapp = MyForm()
    myapp.show()
    sys.exit(app.exec_())

Код, сгенерированный из Qt Designer,

from PyQt4 import QtCore, QtGui

try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    def _fromUtf8(s):
        return s

try:
    _encoding = QtGui.QApplication.UnicodeUTF8
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig)

class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName(_fromUtf8("Form"))
        Form.resize(640, 480)
        self.verticalLayout = QtGui.QVBoxLayout(Form)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.webView = QtWebKit.QWebView(Form)
        self.webView.setUrl(QtCore.QUrl(_fromUtf8("about:blank")))
        self.webView.setObjectName(_fromUtf8("webView"))
        self.verticalLayout.addWidget(self.webView)

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        Form.setWindowTitle(_translate("Form", "Form", None))

from PyQt4 import QtWebKit

Где я не прав? Как установить макет формы из qt designer?

0 ответов

Другие вопросы по тегам