pyqt按鈕怎么添加右鍵菜單?
利用 Qt.CustomContextMenu 來創建右鍵菜單方法:
1、QWidget 和它的子類 contextMenuPolicy 的默認值是 Qt.DefaultContextMenu 的, 所以需要通過 setContextMenuPolicy(QtCore.Qt.CustomContextMenu) 重新來設置他的值;
2、在Qt設計師中, 可以直接修改 contextMenuPolicy 的值為 CustomContextMenu 并且寫入到UI文件中,用Qt設計師可以不用 setContextMenuPolicy 方法來設置。
3、CustomContextMenu 它所發出的是一個 customContextMenuRequested 信號 (signal) 如下: void customContextMenuRequested (const QPoint&) 這個信號是QWidget唯一與右鍵菜單有關的信號(也是自有的唯一信號), 同時也是很容易被忽略的信號(signal) 注: 文檔中QWidget方法和屬性巨量多, 就可以輕松自定義想要的右鍵菜單了,手編寫槽(slot)。 def myListWidgetContext(self, point): popMenu = QtGui.QMenu() popMenu.addAction(QtGui.QAction(u'添加', self)) popMenu.addAction(QtGui.QAction(u'刪除', self)) popMenu.addAction(QtGui.QAction(u'修改', self)) popMenu.exec_(QtGui.QCursor.pos())
4、接著就是連接槽。
5、添加成功。