python - Qgridlayout 控制widget的大小

标签 python user-interface pyqt qgridlayout

我正在尝试将 Qgridlayout 用于我的 GUI。我希望减小 Qspin 的宽度,如图所示。有什么建议我该怎么做吗?谢谢

    layout.addWidget(checkBoxVBG,1,0)
    layout.addWidget(checkBoxIREF,2,0)


    layout.addWidget(boxVBG, 1, 1)
    layout.addWidget(boxIREF, 2, 1)


    layout.addWidget(checkBoxZERO_X,1,2)
    layout.addWidget(checkBox4MOSC,2,2)


    layout.addWidget(boxZERO_X, 1, 3)
    layout.addWidget(box4MOSC, 2, 3)

enter image description here

最佳答案

您可以设置固定宽度和左对齐。

import sys

from PyQt5 import QtCore, QtGui, QtWidgets


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

        layout = QtWidgets.QGridLayout(self)

        checkBoxVBG = QtWidgets.QCheckBox("VBG")
        checkBoxIREF = QtWidgets.QCheckBox("IREF")
        boxVBG = QtWidgets.QSpinBox()
        boxIREF = QtWidgets.QSpinBox()
        checkBoxZERO_X = QtWidgets.QCheckBox("ZERO X")
        checkBox4MOSC = QtWidgets.QCheckBox("4MOSC")
        boxZERO_X = QtWidgets.QSpinBox()
        box4MOSC = QtWidgets.QSpinBox()

        for spinbox in (boxVBG, boxIREF, boxZERO_X, box4MOSC):
            spinbox.setFixedWidth(60)

        layout.addWidget(checkBoxVBG, 1, 0)
        layout.addWidget(checkBoxIREF, 2, 0)

        layout.addWidget(boxVBG, 1, 1, alignment=QtCore.Qt.AlignLeft)
        layout.addWidget(boxIREF, 2, 1, alignment=QtCore.Qt.AlignLeft)

        layout.addWidget(checkBoxZERO_X, 1, 2)
        layout.addWidget(checkBox4MOSC, 2, 2)

        layout.addWidget(boxZERO_X, 1, 3, alignment=QtCore.Qt.AlignLeft)
        layout.addWidget(box4MOSC, 2, 3, alignment=QtCore.Qt.AlignLeft)


if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    w = Widget()
    w.show()
    sys.exit(app.exec_())

关于python - Qgridlayout 控制widget的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59781117/

相关文章:

Python求解等式两边变量方程组

java - 从应用程序而非浏览器将视频流式传输到 WebRTC

ios - 按下时快速更改按钮背景颜色和图像颜色

java - 访问 ActionListener 类中的 Gui,使用计时器每 x 秒更新一次

Python 3 + pyQt5 + cx_freeze

python - 如何使用 pyqtgraph 获得简单的绘图

python - Spyder 5.0.1 加载失败

python - 压缩内存中的文件,计算校验和并将其写入Python中的 `gzip`

python - 在 python 中打印没有换行的语句?

Java int - 颜色只有蓝色?