pyqt如何实现点击一个按钮出现两个子按钮python
时间: 2024-05-01 08:18:46 浏览: 96
实现点击按钮出多个按钮效果
在 PyQt 中可以使用 QToolButton 控件来实现一个按钮下拉出现多个子按钮的效果。具体实现步骤如下:
1. 创建一个 QToolButton 控件作为父按钮。
2. 创建多个 QAction 控件作为子按钮。
3. 将这些 QAction 控件添加到一个 QMenu 控件中。
4. 将 QMenu 控件设置为父按钮的下拉菜单。
5. 将父按钮的 clicked 信号连接到一个槽函数,在槽函数中显示 QMenu 控件。
以下是一个简单的示例代码:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QToolButton, QAction, QMenu
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建一个父按钮
button = QToolButton(self)
button.setText('Click Me')
# 创建两个子按钮
action1 = QAction('Button 1', self)
action2 = QAction('Button 2', self)
# 将子按钮添加到菜单中
menu = QMenu(self)
menu.addAction(action1)
menu.addAction(action2)
# 设置父按钮的下拉菜单
button.setMenu(menu)
# 连接父按钮的 clicked 信号到槽函数
button.clicked.connect(self.showMenu)
def showMenu(self):
# 在槽函数中显示菜单
button = self.sender()
menu = button.menu()
menu.exec(button.mapToGlobal(button.rect().bottomLeft()))
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
```
当你点击父按钮时,将会显示一个下拉菜单,里面包含了两个子按钮。
阅读全文