如何在 PyQt5 中设置布局的固定高度?
How do I set layout's fixed height in PyQt5?
我正在尝试为 QHBoxLayout
设置固定高度。为了详细说明这一点,我需要为我的水平布局设置一个特定的高度。但是,我找不到这样做的正确方法。我应该怎么做才能做到这一点?
hbox1 = QHBoxLayout()
正如 @ekhumuro 在 QHBoxLayout 中指出的那样,您不能设置固定高度,您必须对将包含它的小部件执行此操作,如下所示:
import random
from PyQt5 import QtCore, QtGui, QtWidgets
class Widget(QtWidgets.QWidget):
def __init__(self, parent=None):
super(Widget, self).__init__(parent)
self.setFixedHeight(300)
lay = QtWidgets.QHBoxLayout(self)
for letter in "ABCDEFG":
label = QtWidgets.QLabel(letter, alignment=QtCore.Qt.AlignCenter)
color = QtGui.QColor(*[random.randint(0, 255) for _ in range(3)])
label.setStyleSheet("background-color: {}".format(color.name()))
lay.addWidget(label)
if __name__ == '__main__':
import sys
app = QtWidgets.QApplication(sys.argv)
w = Widget()
w.show()
sys.exit(app.exec_())
我正在尝试为 QHBoxLayout
设置固定高度。为了详细说明这一点,我需要为我的水平布局设置一个特定的高度。但是,我找不到这样做的正确方法。我应该怎么做才能做到这一点?
hbox1 = QHBoxLayout()
正如 @ekhumuro 在 QHBoxLayout 中指出的那样,您不能设置固定高度,您必须对将包含它的小部件执行此操作,如下所示:
import random
from PyQt5 import QtCore, QtGui, QtWidgets
class Widget(QtWidgets.QWidget):
def __init__(self, parent=None):
super(Widget, self).__init__(parent)
self.setFixedHeight(300)
lay = QtWidgets.QHBoxLayout(self)
for letter in "ABCDEFG":
label = QtWidgets.QLabel(letter, alignment=QtCore.Qt.AlignCenter)
color = QtGui.QColor(*[random.randint(0, 255) for _ in range(3)])
label.setStyleSheet("background-color: {}".format(color.name()))
lay.addWidget(label)
if __name__ == '__main__':
import sys
app = QtWidgets.QApplication(sys.argv)
w = Widget()
w.show()
sys.exit(app.exec_())