pyqt6 报错: type object 'QToolButton' has no attribute 'MenuButtonPopup'
时间: 2023-10-07 14:08:48 浏览: 129
这个错误是因为 PyQt6 中的 QToolButton 类不再有 MenuButtonPopup 属性。相反,QToolButton 现在有一个 menu 属性,您可以使用它来设置弹出菜单。以下是一个示例代码:
```python
from PyQt6.QtWidgets import QApplication, QMainWindow, QMenu, QToolButton
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle("Example")
self.setGeometry(100, 100, 300, 200)
# 创建一个 QToolButton
tool_button = QToolButton(self)
tool_button.setText("Menu")
tool_button.setPopupMode(QToolButton.MenuButtonPopup)
# 创建一个 QMenu
menu = QMenu(self)
menu.addAction("Action 1")
menu.addAction("Action 2")
# 设置 QToolButton 的菜单
tool_button.setMenu(menu)
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
window.show()
app.exec()
```
在这个示例中,我们创建了一个 QToolButton 和一个 QMenu,并使用 `setMenu()` 方法将 QMenu 关联到 QToolButton。然后,我们可以使用 `setPopupMode()` 方法来设置 QToolButton 的弹出模式。在这个例子中,我们使用了 `MenuButtonPopup` 模式,但是您可以选择使用其他模式。
阅读全文