PyQt5右鍵啟動選單

2021-09-24 12:51:27 字數 2630 閱讀 5852

方法一:

from pyqt5.qt import *

import sys

import math

win=qwidget()

win.resize(500,500)

win.setwindowtitle("右擊發射訊號")

win.setwindowicon(qicon("d:\ico\ooopic_1545207573.ico"))

def show_menu(point):

menu=qmenu(win)

open_recent_menu=qmenu(menu)#新建選單

open_recent_menu.settitle("最近開啟的")

new_action=qaction(qicon("d:\ico\ooopic_1558312421.ico"),"新建",menu)#新建選單項

new_action.triggered.connect(lambda:print("新建"))

open_action=qaction(qicon("d:\ico\ooopic_1552382292.ico"),"開啟",menu)#新建選單項

open_action.triggered.connect(lambda:print("開啟"))

exit_action=qaction(qicon("d:\ico\ooopic_1559523252.ico"),"退出",menu)#新建選單項

exit_action.triggered.connect(lambda:print("退出"))

file_action=qaction("python-gui程式設計-pyqt5")

file_action.triggered.connect(lambda:print("python-gui程式設計-pyqt5"))#新建選單項

menu.addaction(new_action)#新增選單項

menu.addaction(open_action)#新增選單項

open_recent_menu.addaction(file_action)#新增選單項

menu.addmenu(open_recent_menu)#新增含有子選單項的

menu.addseparator()#新增分隔線

menu.addaction(exit_action)#新增選單項

dest_point=win.maptoglobal(point)

menu.exec_(dest_point)

win.setcontextmenupolicy(qt.customcontextmenu)

win.customcontextmenurequested.connect(show_menu)

win.show()

方法二:

from pyqt5.qt import *

import sys

import math

class window(qwidget):

def contextmenuevent(self,evt):#連線選單事件

menu=qmenu(self)

open_recent_menu=qmenu(menu)

open_recent_menu.settitle("近最開啟")

new_action=qaction(qicon("d:\ico\ooopic_1558312421.ico"),"新建",menu)

new_action.triggered.connect(lambda:print("新建"))

open_action=qaction(qicon("d:\ico\ooopic_1552382292.ico"),"開啟",menu)

open_action.triggered.connect(lambda:print("開啟"))

exit_action=qaction(qicon("d:\ico\ooopic_1559523252.ico"),"退出",menu)

exit_action.triggered.connect(lambda:print("退出"))

file_action=qaction("python-gui程式設計-pyqt5")

file_action.triggered.connect(lambda :print("python-gui程式設計-pyqt5"))

menu.addaction(new_action)

menu.addaction(open_action)

menu.addmenu(open_recent_menu)

open_recent_menu.addaction(file_action)

menu.addseparator()

menu.addaction(exit_action)

menu.exec_(evt.globalpos())

win=window()

win.setwindowtitle("右鍵選單")

win.resize(500,500)

win.show()

PyQt5之選單程式設計

pyqt5是qt移植到python上形成的gui程式設計框架,自問世以來受到了越來越多的python程式設計師的喜愛,因為其具有如下優秀的特徵 接下來介紹一下pyqt5中如何程式設計實現選單。實現選單步驟很簡單 1 建立乙個選單欄 menubar self.menubar 2 新增選單 fileme...

PyQt5程式設計 5 啟動介面

pyqt中的qsplashscreen類提供了在程式啟動過程中顯示的啟動畫面的功能當執行程式時,在顯示屏的 出現乙個啟動畫面,經過一段時間,應用程式完成初始化工作後,啟動畫面隱去,出現程式的主視窗介面的功能。建構函式 qsplashscreen qpixmap pixmap qt.windowfla...

PyQT5 軟體啟動介面

splash qtwidgets.qsplashscreen qtgui.qpixmap img.png splash.showmessage 載入.0 qtcore.qt.alignhcenter,qtcore.qt.black splash.show window mywindow window...