5

我正在尝试将 QPushButton 小部件添加到 QGroupBox 中,例如:

self.btn = QtGui.QPushButton('Push Button')
self.grp_box = QtGui.QGroupBox('Button Section')
self.grp_box.addWidget(self.btn)

尝试运行代码时,出现此错误:AttributeError: 'NoneType' object has no attribute 'addWidget'

经过一些在线检查,似乎 QGroupBox 只允许setLayout,这意味着我需要使用QVBoxLayoutorQHBoxLayout等​​。

有没有办法解决这个问题,在不使用任何布局的情况下添加一个小部件?我正在使用 PyQt。

4

1 回答 1

1

首先创建你的主布局 = QHBoxLayout()

  main_layout = QHBoxLayout()

然后创建组框:

  group_box = QGroupBox("Group Box")

创建组框布局:

  group_box_layout = QVBoxLayout()

像这样将小部件添加到组框布局中:

  group_box_layout.addWidget(QCheckBox("Check Box 1"))
  group_box_layout.addWidget(QCheckBox("Check Box 2"))
  group_box_layout.addWidget(QCheckBox("Check Box 3"))

将组框布局分配给组框:

  group_box.setLayout(group_box_layout)

将组框分配给主布局:

  main_layout.addWidget(group_box)

并在最后添加:

    widget = QWidget()
    widget.setLayout(layout1)
    self.setCentralWidget(widget)
于 2022-01-04T18:14:57.090 回答