dis*_*dia 6 pyqt widget qgroupbox
我正在尝试将 QPushButton 小部件添加到 QGroupBox 中,例如:
self.btn = QtGui.QPushButton('Push Button')
self.grp_box = QtGui.QGroupBox('Button Section')
self.grp_box.addWidget(self.btn)
Run Code Online (Sandbox Code Playgroud)
当尝试运行代码时,我收到此错误:AttributeError: 'NoneType' object has no attribute 'addWidget'
经过一些在线检查,似乎 QGroupBox 只允许setLayout,这意味着我需要使用QVBoxLayout或QHBoxLayout等。
有没有办法解决这个问题,在不使用任何布局的情况下添加小部件?我正在使用 PyQt。
首先创建主布局 = QHBoxLayout()
main_layout = QHBoxLayout()
Run Code Online (Sandbox Code Playgroud)
然后创建组框:
group_box = QGroupBox("Group Box")
Run Code Online (Sandbox Code Playgroud)
创建组框布局:
group_box_layout = QVBoxLayout()
Run Code Online (Sandbox Code Playgroud)
将小部件添加到组框布局中,如下所示:
group_box_layout.addWidget(QCheckBox("Check Box 1"))
group_box_layout.addWidget(QCheckBox("Check Box 2"))
group_box_layout.addWidget(QCheckBox("Check Box 3"))
Run Code Online (Sandbox Code Playgroud)
将组框布局分配给组框:
group_box.setLayout(group_box_layout)
Run Code Online (Sandbox Code Playgroud)
将组框分配给主布局:
main_layout.addWidget(group_box)
Run Code Online (Sandbox Code Playgroud)
并在最后添加以下内容:
widget = QWidget()
widget.setLayout(layout1)
self.setCentralWidget(widget)
Run Code Online (Sandbox Code Playgroud)