Skip to content Skip to sidebar Skip to footer

Qhboxlayout Add Widget In A Different Order

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 seco

Solution 1:

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

enter image description here

Post a Comment for "Qhboxlayout Add Widget In A Different Order"