请教我一下pyside的QMenu怎么绑定信号
时间: 2024-05-01 17:20:50 浏览: 10
在 PySide 中,QMenu 可以绑定信号来响应用户的操作。其中,QMenu 的 triggered 信号会在菜单项被选中时发射,因此我们可以将其与一个槽函数绑定,以实现菜单项的功能。
以下是一个简单的例子,演示了如何使用 QMenu 和 triggered 信号来实现一个菜单:
```python
import sys
from PySide import QtGui, QtCore
class Example(QtGui.QMainWindow):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
menubar = self.menuBar()
fileMenu = menubar.addMenu('File')
editMenu = menubar.addMenu('Edit')
viewMenu = menubar.addMenu('View')
exitAction = QtGui.QAction(QtGui.QIcon('exit.png'), 'Exit', self)
exitAction.setShortcut('Ctrl+Q')
exitAction.setStatusTip('Exit application')
exitAction.triggered.connect(QtGui.qApp.quit)
fileMenu.addAction(exitAction)
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('Example')
def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
ex.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
```
在这个例子中,我们创建了一个菜单栏,然后添加了三个菜单:File、Edit 和 View。我们还在 File 菜单中添加了一个 Exit 菜单项,当用户选择该项时,程序会退出。
在代码中,我们使用了 QAction 类来创建菜单项,并将其添加到菜单中。我们还使用了 triggered 信号来绑定一个槽函数,以实现菜单项的功能。在这个例子中,我们将 triggered 信号与 QtGui.qApp.quit 槽函数绑定,该函数会关闭应用程序。
希望这个例子能够帮助你了解如何使用 QMenu 和 triggered 信号来实现菜单功能。