QHBoxLayout 以不同的顺序添加小部件

2022-01-12 00:00:00 python pyqt pyqt5 qlayout

问题描述

编写 QHBoxLayout.addWidget() 将小部件添加到右侧.有没有办法让我将它添加到不同的位置,例如,将它插入到最后一个最右边和第二个最右边的小部件之间?

解决方案

您可以使用

writing QHBoxLayout.addWidget() adds the widget to the right. Is there a way for me to add it in in a different position, for example, insert it between the last rightmost and second-rightmost widget?

解决方案

You can insert a widget in any position using the insertWidget() method:

Example:

import sys

from PyQt5 import QtWidgets


if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    w = QtWidgets.QWidget()
    hlay = QtWidgets.QHBoxLayout(w)
    for i in range(8):
        label = QtWidgets.QLabel("label-{}".format(i))
        hlay.addWidget(label)
    # insert widget between label-6 and label-7
    hlay.insertWidget(hlay.count() - 1, QtWidgets.QPushButton("Press me"))
    w.show()
    sys.exit(app.exec_())

相关文章