AttributeError: 'QWidget' object has no attribute 'addWidget'
时间: 2023-09-03 07:14:40 浏览: 364
AttributeError: ‘NoneType’ object has no attribute ‘children’ 错误
5星 · 资源好评率100%
这个错误通常出现在使用 PyQt 或 PySide 开发 GUI 应用程序时。它表示你尝试在一个 QWidget 对象上调用 `addWidget` 方法,但这个方法在 QWidget 类中是不存在的。
`addWidget` 方法是 QLayout 类的方法,用于将控件添加到布局中。如果你想在窗口或其他 QWidget 对象中添加控件,你需要先创建一个合适的布局对象,然后将控件添加到布局中,最后再将布局设置给 QWidget 对象。
以下是一个使用 QVBoxLayout 的例子:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLabel
app = QApplication(sys.argv)
window = QWidget()
layout = QVBoxLayout()
label = QLabel("Hello, World!")
layout.addWidget(label)
window.setLayout(layout)
window.show()
sys.exit(app.exec_())
```
在这个例子中,我们首先创建了一个 QVBoxLayout 对象 `layout`,然后将 QLabel 控件 `label` 添加到布局中,最后将布局设置给窗口对象 `window`。运行这段代码将显示一个带有 "Hello, World!" 文本的窗口。
请确保在使用 `addWidget` 方法之前正确创建了 QWidget 对象和布局对象,并将布局对象设置给 QWidget 对象。
阅读全文