pyside+pyqt實現(xiàn)鼠標(biāo)右鍵菜單功能
本文為大家分享了pyside pyqt實現(xiàn)鼠標(biāo)右鍵菜單功能的具體代碼,供大家參考,具體內(nèi)容如下
在三維軟件中使用pyside/pyqt編寫gui界面時,為了藝術(shù)家使用操作的簡潔,以及方便,經(jīng)常會使用鼠標(biāo)右鍵菜單進(jìn)行界面與功能的交互。下面就介紹一下這一功能,當(dāng)然了網(wǎng)上也有很多案列可供參考。
# -*- encoding: utf-8 -*- try: from PySide import QtGui from PySide import QtCore except ImportError: from PySide2 import QtWidgets as QtGui from PySide2 import QtCore import sys class MainWindow(QtGui.QMainWindow): def __init__(self): super(MainWindow, self).__init__() self.createContextMenu() def createContextMenu(self): ''''' 創(chuàng)建右鍵菜單 ''' # 必須將ContextMenuPolicy設(shè)置為Qt.CustomContextMenu # 否則無法使用customContextMenuRequested信號 self.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.customContextMenuRequested.connect(self.showContextMenu) # 創(chuàng)建QMenu self.contextMenu = QtGui.QMenu(self) self.actionA = self.contextMenu.addAction(u'添加') self.actionB = self.contextMenu.addAction(u'刪除') # 將動作與處理函數(shù)相關(guān)聯(lián) # 這里為了簡單,將所有action與同一個處理函數(shù)相關(guān)聯(lián), # 當(dāng)然也可以將他們分別與不同函數(shù)關(guān)聯(lián),實現(xiàn)不同的功能 self.actionA.triggered.connect(self.actionHandler) self.actionB.triggered.connect(self.actionHandler) def showContextMenu(self, pos): ''''' 右鍵點擊時調(diào)用的函數(shù) ''' # 菜單顯示前,將它移動到鼠標(biāo)點擊的位置 self.contextMenu.move(QtGui.QCursor().pos()) self.contextMenu.show() def actionHandler(self): ''''' 菜單中的具體action調(diào)用的函數(shù) ''' print 'action handler' if __name__ == '__main__': app = QtGui.QApplication(sys.argv) window = MainWindow() window.show() sys.exit(app.exec_())
簡單的右鍵菜單就實現(xiàn)了,連接功能就學(xué)要按照需求進(jìn)行添加。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
PyTorch一小時掌握之神經(jīng)網(wǎng)絡(luò)分類篇
這篇文章主要介紹了PyTorch一小時掌握之神經(jīng)網(wǎng)絡(luò)分類篇,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-09-09
python如何利用cv2.rectangle()繪制矩形框
cv2.rectangle這個函數(shù)的作用是在圖像上繪制一個簡單的矩形,下面這篇文章主要給大家介紹了關(guān)于python如何利用cv2.rectangle()繪制矩形框的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12
python開發(fā)中range()函數(shù)用法實例分析
這篇文章主要介紹了python開發(fā)中range()函數(shù)用法,以實例形式較為詳細(xì)的分析了Python中range()函數(shù)遍歷列表的相關(guān)技巧,需要的朋友可以參考下2015-11-11
pytorch教程之Tensor的值及操作使用學(xué)習(xí)
這篇文章主要為大家介紹了pytorch教程中關(guān)于Tensor的操作使用,有需要的朋友可以借鑒參考下,希望可以有所幫助,祝大家升職加薪,共同進(jìn)步2021-09-09

