QHBoxLayout 以不同的顺序添加小部件
问题描述
编写 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_())
相关文章