如何在PyQt5中设置布局的固定高度?

时间:2018-09-23 09:15:15

标签: python python-3.x pyqt pyqt5 qlayout

我正在尝试为QHBoxLayout设置一个固定高度。要对此进行详细说明,我需要为我的“水平”布局设置一个特定的高度。但是,我找不到正确的方法。我应该怎么做才能做到这一点?

hbox1 = QHBoxLayout()

1 个答案:

答案 0 :(得分:2)

@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_())