May-07-2022, 07:18 PM
(This post was last modified: May-07-2022, 07:18 PM by Axel_Erfurt.)
You want it horizontal
import PyQt5.QtWidgets as QtWidgets from PyQt5.QtGui import QFontMetrics from PyQt5.QtCore import Qt class MyWindow(QtWidgets.QWidget): def __init__(self): super().__init__() self.setGeometry(100, 100, 800, 50) self.lp_label = QtWidgets.QLabel("Low-pass (Hz): ", self) self.lp_label.setAlignment(Qt.AlignLeft | Qt.AlignVCenter) self.lp_label.setFixedWidth(self.get_metrics(self.lp_label)) self.lp_edit = QtWidgets.QLineEdit("150", self) self.lp_edit.setAlignment(Qt.AlignLeft) self.lp_edit.setFixedWidth(self.get_metrics(self.lp_edit) + 10) self.hp_label = QtWidgets.QLabel("High-pass (Hz): ", self) self.hp_label.setAlignment(Qt.AlignLeft | Qt.AlignVCenter) self.hp_label.setFixedWidth(self.get_metrics(self.hp_label)) self.hp_edit = QtWidgets.QLineEdit("1000", self) self.hp_edit.setAlignment(Qt.AlignLeft) self.hp_edit.setFixedWidth(self.get_metrics(self.hp_edit) + 10) self.hanning_sel = QtWidgets.QComboBox(self) self.hanning_sel.addItems(["Hanning", "Hamming", "Flat", "None"]) self.hanning_sel.setFixedWidth(100) #space space = QtWidgets.QWidget() buttonbox3 = QtWidgets.QHBoxLayout(self) buttonbox3.addWidget(self.lp_label) buttonbox3.addWidget(self.lp_edit) buttonbox3.addWidget(self.hp_label) buttonbox3.addWidget(self.hp_edit) buttonbox3.addWidget(self.hanning_sel) buttonbox3.addWidget(space) def get_metrics(self, label): return label.fontMetrics().boundingRect(label.text()).width() if __name__ == '__main__': import sys app = QtWidgets.QApplication(sys.argv) window = MyWindow() window.show() app.exec()