pyside+pyqt實(shí)現(xiàn)鼠標(biāo)右鍵菜單功能
本文為大家分享了pyside pyqt實(shí)現(xiàn)鼠標(biāo)右鍵菜單功能的具體代碼,供大家參考,具體內(nèi)容如下
在三維軟件中使用pyside/pyqt編寫gui界面時(shí),為了藝術(shù)家使用操作的簡(jiǎn)潔,以及方便,經(jīng)常會(huì)使用鼠標(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信號(hào) 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'刪除') # 將動(dòng)作與處理函數(shù)相關(guān)聯(lián) # 這里為了簡(jiǎn)單,將所有action與同一個(gè)處理函數(shù)相關(guān)聯(lián), # 當(dāng)然也可以將他們分別與不同函數(shù)關(guān)聯(lián),實(shí)現(xiàn)不同的功能 self.actionA.triggered.connect(self.actionHandler) self.actionB.triggered.connect(self.actionHandler) def showContextMenu(self, pos): ''''' 右鍵點(diǎn)擊時(shí)調(diào)用的函數(shù) ''' # 菜單顯示前,將它移動(dòng)到鼠標(biāo)點(diǎn)擊的位置 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_())
簡(jiǎn)單的右鍵菜單就實(shí)現(xiàn)了,連接功能就學(xué)要按照需求進(jìn)行添加。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python操作MySQL數(shù)據(jù)庫的簡(jiǎn)單步驟分享
這篇文章主要給大家介紹了關(guān)于Python操作MySQL數(shù)據(jù)庫的簡(jiǎn)單步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04單鏈表反轉(zhuǎn)python實(shí)現(xiàn)代碼示例
這篇文章主要介紹了單鏈表反轉(zhuǎn)python實(shí)現(xiàn),分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-02-02python 如何利用argparse解析命令行參數(shù)
這篇文章主要介紹了python 利用argparse解析命令行參數(shù)的步驟,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下2020-09-09詳解python之多進(jìn)程和進(jìn)程池(Processing庫)
本篇文章主要介紹了詳解python之多進(jìn)程和進(jìn)程池(Processing庫),非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-06-06Python函數(shù)中*args和**kwargs來傳遞變長(zhǎng)參數(shù)的用法
這篇文章主要介紹了Python編程中使用*args和**kwargs來傳遞可變參數(shù)的用法,文中舉了變長(zhǎng)參數(shù)的例子,需要的朋友可以參考下2016-01-01python實(shí)現(xiàn)修改固定模式的字符串內(nèi)容操作示例
這篇文章主要介紹了python實(shí)現(xiàn)修改固定模式的字符串內(nèi)容操作,結(jié)合實(shí)例形式詳細(xì)分析了Python修改固定模式字符串原理、實(shí)現(xiàn)方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-12-12Django 登陸驗(yàn)證碼和中間件的實(shí)現(xiàn)
這篇文章主要介紹了Django 登陸驗(yàn)證碼和中間件的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-08-08