Note that there are some explanatory texts on larger screens.

plurals
  1. POLoading a simple Qt Designer form in to Pyside
    primarykey
    data
    text
    <p>I create a simple form in Qt designer and am trying to load it in to a Qt application I'm creating with PySide but without much luck.</p> <p>Here's the generated code from `pyside-uic':</p> <pre><code># -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'clientEditorForm.ui' # # Created: Tue Nov 3 23:46:41 2009 # by: PySide uic UI code generator # # WARNING! All changes made in this file will be lost! from PySide import QtCore, QtGui class Ui_clientEditorForm(object): def setupUi(self, clientEditorForm): clientEditorForm.setObjectName("clientEditorForm") clientEditorForm.resize(575, 446) self.horizontalLayout_3 = QtGui.QHBoxLayout(clientEditorForm) self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.splitter = QtGui.QSplitter(clientEditorForm) self.splitter.setOrientation(QtCore.Qt.Horizontal) self.splitter.setObjectName("splitter") self.layoutWidget = QtGui.QWidget(self.splitter) self.layoutWidget.setObjectName("layoutWidget") self.verticalLayout = QtGui.QVBoxLayout(self.layoutWidget) self.verticalLayout.setObjectName("verticalLayout") self.horizontalLayout_2 = QtGui.QHBoxLayout() self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.searchLabel = QtGui.QLabel(self.layoutWidget) self.searchLabel.setObjectName("searchLabel") self.horizontalLayout_2.addWidget(self.searchLabel) self.searchEdit = QtGui.QLineEdit(self.layoutWidget) self.searchEdit.setObjectName("searchEdit") self.horizontalLayout_2.addWidget(self.searchEdit) self.clearButton = QtGui.QPushButton(self.layoutWidget) self.clearButton.setObjectName("clearButton") self.horizontalLayout_2.addWidget(self.clearButton) self.verticalLayout.addLayout(self.horizontalLayout_2) self.clientListView = QtGui.QListView(self.layoutWidget) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.clientListView.sizePolicy().hasHeightForWidth()) self.clientListView.setSizePolicy(sizePolicy) self.clientListView.setObjectName("clientListView") self.verticalLayout.addWidget(self.clientListView) self.frame = QtGui.QFrame(self.splitter) self.frame.setFrameShape(QtGui.QFrame.StyledPanel) self.frame.setFrameShadow(QtGui.QFrame.Raised) self.frame.setObjectName("frame") self.verticalLayout_3 = QtGui.QVBoxLayout(self.frame) self.verticalLayout_3.setObjectName("verticalLayout_3") self.formLayout = QtGui.QFormLayout() self.formLayout.setObjectName("formLayout") self.nameEdit = QtGui.QLineEdit(self.frame) self.nameEdit.setObjectName("nameEdit") self.formLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.nameEdit) self.nameLabel = QtGui.QLabel(self.frame) self.nameLabel.setObjectName("nameLabel") self.formLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.nameLabel) self.profileButton = QtGui.QLabel(self.frame) self.profileButton.setObjectName("profileButton") self.formLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.profileButton) self.addressLabel = QtGui.QLabel(self.frame) self.addressLabel.setObjectName("addressLabel") self.formLayout.setWidget(2, QtGui.QFormLayout.LabelRole, self.addressLabel) self.locationLabel = QtGui.QLabel(self.frame) self.locationLabel.setObjectName("locationLabel") self.formLayout.setWidget(3, QtGui.QFormLayout.LabelRole, self.locationLabel) self.secureLabel = QtGui.QLabel(self.frame) self.secureLabel.setObjectName("secureLabel") self.formLayout.setWidget(4, QtGui.QFormLayout.LabelRole, self.secureLabel) self.UUIDLabel = QtGui.QLabel(self.frame) self.UUIDLabel.setObjectName("UUIDLabel") self.formLayout.setWidget(5, QtGui.QFormLayout.LabelRole, self.UUIDLabel) self.passwordLabel = QtGui.QLabel(self.frame) self.passwordLabel.setObjectName("passwordLabel") self.formLayout.setWidget(6, QtGui.QFormLayout.LabelRole, self.passwordLabel) self.profileComboBox = QtGui.QComboBox(self.frame) self.profileComboBox.setObjectName("profileComboBox") self.formLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.profileComboBox) self.addressEdit = QtGui.QLineEdit(self.frame) self.addressEdit.setObjectName("addressEdit") self.formLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.addressEdit) self.locationComboBox = QtGui.QComboBox(self.frame) self.locationComboBox.setObjectName("locationComboBox") self.formLayout.setWidget(3, QtGui.QFormLayout.FieldRole, self.locationComboBox) self.secureComboBox = QtGui.QComboBox(self.frame) self.secureComboBox.setObjectName("secureComboBox") self.formLayout.setWidget(4, QtGui.QFormLayout.FieldRole, self.secureComboBox) self.UUIDEdit = QtGui.QLineEdit(self.frame) self.UUIDEdit.setObjectName("UUIDEdit") self.formLayout.setWidget(5, QtGui.QFormLayout.FieldRole, self.UUIDEdit) self.passwordEdit = QtGui.QLineEdit(self.frame) self.passwordEdit.setObjectName("passwordEdit") self.formLayout.setWidget(6, QtGui.QFormLayout.FieldRole, self.passwordEdit) self.verticalLayout_3.addLayout(self.formLayout) self.aliasesGroupBox = QtGui.QGroupBox(self.frame) self.aliasesGroupBox.setFlat(False) self.aliasesGroupBox.setCheckable(False) self.aliasesGroupBox.setObjectName("aliasesGroupBox") self.verticalLayout_2 = QtGui.QVBoxLayout(self.aliasesGroupBox) self.verticalLayout_2.setObjectName("verticalLayout_2") self.aliasesListView = QtGui.QListView(self.aliasesGroupBox) self.aliasesListView.setObjectName("aliasesListView") self.verticalLayout_2.addWidget(self.aliasesListView) self.horizontalLayout_4 = QtGui.QHBoxLayout() self.horizontalLayout_4.setObjectName("horizontalLayout_4") spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.horizontalLayout_4.addItem(spacerItem) self.addButton = QtGui.QPushButton(self.aliasesGroupBox) self.addButton.setObjectName("addButton") self.horizontalLayout_4.addWidget(self.addButton) self.removeButton = QtGui.QPushButton(self.aliasesGroupBox) self.removeButton.setObjectName("removeButton") self.horizontalLayout_4.addWidget(self.removeButton) self.verticalLayout_2.addLayout(self.horizontalLayout_4) self.verticalLayout_3.addWidget(self.aliasesGroupBox) spacerItem1 = QtGui.QSpacerItem(20, 38, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.verticalLayout_3.addItem(spacerItem1) self.horizontalLayout = QtGui.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") spacerItem2 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem2) self.revertButton = QtGui.QPushButton(self.frame) self.revertButton.setObjectName("revertButton") self.horizontalLayout.addWidget(self.revertButton) self.applyButton = QtGui.QPushButton(self.frame) self.applyButton.setObjectName("applyButton") self.horizontalLayout.addWidget(self.applyButton) self.verticalLayout_3.addLayout(self.horizontalLayout) self.horizontalLayout_3.addWidget(self.splitter) self.searchLabel.setBuddy(self.searchEdit) self.nameLabel.setBuddy(self.nameEdit) self.profileButton.setBuddy(self.profileComboBox) self.addressLabel.setBuddy(self.addressEdit) self.locationLabel.setBuddy(self.locationComboBox) self.secureLabel.setBuddy(self.secureComboBox) self.UUIDLabel.setBuddy(self.UUIDEdit) self.passwordLabel.setBuddy(self.passwordEdit) self.retranslateUi(clientEditorForm) QtCore.QMetaObject.connectSlotsByName(clientEditorForm) def retranslateUi(self, clientEditorForm): clientEditorForm.setWindowTitle(QtGui.QApplication.translate("clientEditorForm", "Form", None, QtGui.QApplication.UnicodeUTF8)) self.searchLabel.setText(QtGui.QApplication.translate("clientEditorForm", "Search", None, QtGui.QApplication.UnicodeUTF8)) self.clearButton.setText(QtGui.QApplication.translate("clientEditorForm", "Clear", None, QtGui.QApplication.UnicodeUTF8)) self.nameLabel.setText(QtGui.QApplication.translate("clientEditorForm", "Name", None, QtGui.QApplication.UnicodeUTF8)) self.profileButton.setText(QtGui.QApplication.translate("clientEditorForm", "Profile", None, QtGui.QApplication.UnicodeUTF8)) self.addressLabel.setText(QtGui.QApplication.translate("clientEditorForm", "Address", None, QtGui.QApplication.UnicodeUTF8)) self.locationLabel.setText(QtGui.QApplication.translate("clientEditorForm", "Location", None, QtGui.QApplication.UnicodeUTF8)) self.secureLabel.setText(QtGui.QApplication.translate("clientEditorForm", "Secure", None, QtGui.QApplication.UnicodeUTF8)) self.UUIDLabel.setText(QtGui.QApplication.translate("clientEditorForm", "UUID", None, QtGui.QApplication.UnicodeUTF8)) self.passwordLabel.setText(QtGui.QApplication.translate("clientEditorForm", "Password", None, QtGui.QApplication.UnicodeUTF8)) self.aliasesGroupBox.setTitle(QtGui.QApplication.translate("clientEditorForm", "Aliases", None, QtGui.QApplication.UnicodeUTF8)) self.addButton.setText(QtGui.QApplication.translate("clientEditorForm", "Add", None, QtGui.QApplication.UnicodeUTF8)) self.removeButton.setText(QtGui.QApplication.translate("clientEditorForm", "Remove", None, QtGui.QApplication.UnicodeUTF8)) self.revertButton.setText(QtGui.QApplication.translate("clientEditorForm", "Revert", None, QtGui.QApplication.UnicodeUTF8)) self.applyButton.setText(QtGui.QApplication.translate("clientEditorForm", "Apply", None, QtGui.QApplication.UnicodeUTF8)) </code></pre> <p>Then my simple application:</p> <pre><code>import sys from PySide import QtCore, QtGui from clientEditorForm import Ui_clientEditorForm class MyMainWindow(QtGui.QMainWindow): def __init__(self, parent=None): super(MyMainWindow, self).__init__(parent) self.ui = Ui_clientEditorForm() self.ui.setupUi(self) if __name__ == "__main__": app = QtGui.QApplication(sys.argv) myapp = MyMainWindow() myapp.show() sys.exit(app.exec_()) </code></pre> <p>However, when I try to run it, I get the following:</p> <pre><code>QLayout: Attempting to add QLayout "" to QMainWindow "clientEditorForm", which already has a layout </code></pre> <p>and a segmentation fault. I'm following the basic instructions in <a href="http://www.rkblog.rk.edu.pl/w/p/introduction-pyqt4/" rel="nofollow noreferrer">this tutorial</a> but I can't tell what I'm doing wrong.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload