def _setupUi(self): layout = QGridLayout() # remove margins layout.setContentsMargins(QMargins()) self.setLayout(layout) row = 0 # 1st row label = QLabel(self, text='Lettering:') layout.addWidget(label, row, 0, alignment=Qt.AlignRight) widget = QLineEdit(self) layout.addWidget(widget, row, 1) label.setBuddy(widget) self.letteringEdit = widget row += 1 # 2nd row label = QLabel(self, text='Hint:') layout.addWidget(label, row, 0, alignment=Qt.AlignRight) widget = QLineEdit(self) layout.addWidget(widget, row, 1) label.setBuddy(widget) self.hintEdit = widget row += 1 # 3rd row label = QLabel(self, text='Part of speech:') layout.addWidget(label, row, 0, alignment=Qt.AlignRight) widget = QLineEdit(self) layout.addWidget(widget, row, 1) label.setBuddy(widget) self.partOfSpeechEdit = widget row += 1 #1-3 row second column widget = QTextEdit(self) layout.addWidget(widget, 0, 2, 3, 2) label.setBuddy(widget) self.definitionEdit = widget #4th row label = QLabel(self, text='Transcription:') layout.addWidget(label, row, 0, alignment=Qt.AlignRight | Qt.AlignTop) widget = TranscriptionsWidget(self) widget.setMaximumHeight(label.sizeHint().height() * 4) layout.addWidget(widget, row, 1, 1, 3) label.setBuddy(widget) self.transcriptionEdit = widget row += 2 #5th row label = QLabel(self, text='Examples:') layout.addWidget(label, row, 0, 1, 1, alignment=Qt.AlignRight | Qt.AlignTop) widget = ExamplesWidget(self) layout.addWidget(widget, row, 1, 2, 3) label.setBuddy(widget) self.examplesEdit = widget row += 2