【发布时间】:2017-07-11 20:49:06
【问题描述】:
我正在尝试将 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,也就是说我需要用QVBoxLayout或者QHBoxLayout等等。
有没有办法解决这个问题,在不使用任何布局的情况下添加一个小部件?我正在使用 PyQt。
【问题讨论】:
-
没有。你为什么要这样做?
-
用于分类并使用户界面漂亮?
-
您为什么不想要使用布局?
-
我不确定这是否可以在不使用布局的情况下完成。另外,假设我只有一个按钮,我没有看到需要将此按钮添加到布局然后添加到 groupBox 的点(这只是我说的......)因此我问
-
使按钮成为组框的子项。然后它应该默认出现在组框的左上角 - 但可能会掩盖它的标题。那么你需要给按钮一个绝对位置(例如
button.move(20, 20))。但是,如果 group-box 改变大小,它也可能使按钮变得模糊,所以你需要为 group-box 设置一个最小尺寸等等。当然,布局的重点是避免不得不处理与所有这些繁琐的细节,并允许 Qt 自动管理它。