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

QHBoxLayout add widget in a different order

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

您可以使用 insertWidget() 方法在任意位置插入小部件:

示例:

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