刚开始弄乱 pyqt5 并且想知道如何将小部件推到 QVBoxLayout 的顶部并离开 QHBoxLayout。目前使用 addStretch() 它将小部件推到底部/右侧。我想避免使用绝对定位。
self.tabColor.layout = QVBoxLayout(self)
self.tabColor.layout.addStretch()
## FOR CONTROL
lbl_control = QLabel(self)
lbl_control.setText("control")
le_control = QLineEdit(self)
hbox_control = QHBoxLayout()
hbox_control.addStretch(1)
hbox_control.addWidget(lbl_control)
hbox_control.addWidget(le_control)
## FOR UNKNOWN
lbl_unknown = QLabel(self)
lbl_unknown.setText("unknown")
le_unknown = QLineEdit(self)
hbox_unknown = QHBoxLayout()
hbox_unknown.addStretch(1)
hbox_unknown.addWidget(lbl_unknown)
hbox_unknown.addWidget(le_unknown)
self.tabColor.layout.addLayout(hbox_control)
self.tabColor.layout.addLayout(hbox_unknown)
self.tabColor.setLayout(self.tabColor.layout)
我用过self.tabColor.layout.setDirection(3)
。它将水平布局放在顶部,但似乎颠倒了顺序。基本上“未知”将首先是“控制”。这没什么大不了的,但想知道我是否可以尝试其他选择