python - 将标签与其相应的 QlistWidgets 对齐的最佳方法是什么

标签 python pyside2

我有一系列 QlistWidgets,并且在它们上方放置了标签。我不知道对齐标签的最佳方法,因此它们位于它们标题的 QlistWidgets 的正上方,并且对于任何显示器尺寸都可以进行对齐。我目前使用的是垂直布局,添加了两个水平布局,第一个水平布局具有标题标签,第二个水平布局具有一系列 QlistWidget。

这是我目前拥有的:

enter image description here

这就是我想要的:

][2]

最佳答案

您必须使用 QGridLayout:

from PySide2 import QtCore, QtGui, QtWidgets


class Widget(QtWidgets.QWidget):
    def __init__(self, parent=None):
        super(Widget, self).__init__(parent)
        grid_layout = QtWidgets.QGridLayout(self)

        name_lw = QtWidgets.QListWidget()
        name_lw.addItems("Name1 Name2 Name3".split())

        c_ver_lw = QtWidgets.QListWidget()
        c_ver_lw.addItems("1 1 6 1 1 1".split())

        l_ver_lw = QtWidgets.QListWidget()
        l_ver_lw.addItems("2 6 6 6 2 2".split())

        entity_name_lw = QtWidgets.QListWidget()
        entity_name_lw.addItems("Entity1 Entity2 Entity3".split())

        path_lw = QtWidgets.QListWidget()
        path_lw.addItems("Path1 Path2 Path3".split())

        titles = ("Name", "C-ver", "L-ver", "Entity Name", "Path")
        lws = (name_lw, c_ver_lw, l_ver_lw, entity_name_lw, path_lw)

        for i, (title, lw) in enumerate(zip(titles, lws)):
            label = QtWidgets.QLabel(title)
            grid_layout.addWidget(label, 0, i)
            grid_layout.addWidget(lw, 1, i)


if __name__ == "__main__":
    import sys

    app = QtWidgets.QApplication(sys.argv)
    w = Widget()
    w.show()
    sys.exit(app.exec_())

enter image description here

关于python - 将标签与其相应的 QlistWidgets 对齐的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55771286/

相关文章:

python - 在 Jenkins 中运行 python 单元测试

python - 将二进制格式的字符串(带有前导零)转换为整数并再次转换回来

python - 如何通过单击列标题按列对 QTableWidget 进行排序?

python - 从 pyuic5 转换的 Python 代码显示 PySide2 UI

python - 每当我单击应用程序 GUI 中的任意位置时,打印困难 ("ok")

python - 为什么元组在分配相同的值时不会获得相同的 ID?

python - 如何使用 .replace() 函数将字符串的最后 4 个字符以外的所有字符更改为 # 符号?

python - 我的 openpyxl 代码似乎无法运行

python - QML Python 中的自定义对象引用

python - 从多列(其中一列)的开头自动完成