QLayout: Попытка добавить QLayout в форму
Я запускаю python 2.7 на pyqt4 и использую qt designer.
Шаги, которые я предпринимаю, вызывают у меня следующие проблемы:
- В стартовом диалоге qt Designer я выбираю "Создать виджет".
- Я перетаскиваю виджет в форму (веб-просмотр)
- щелкните правой кнопкой мыши на самой форме и выберите Layout->Lay out вертикально
- Сохраните файл пользовательского интерфейса и скомпилируйте его в TEST_Form.py
- Теперь я запускаю код ниже и получаю сообщение об ошибке
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?