中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

教學(xué)網(wǎng)站前臺(tái)模板站長(zhǎng)網(wǎng)站優(yōu)化公司

教學(xué)網(wǎng)站前臺(tái)模板,站長(zhǎng)網(wǎng)站優(yōu)化公司,網(wǎng)站的引導(dǎo)頁(yè)怎么做的,公司域名是什么在 PySide中,contextMenuEvent() 是 QWidget 類(以及繼承自它的所有子類)的一個(gè)事件處理方法,主要用于處理上下文菜單事件,也就是當(dāng)用戶在控件上右鍵點(diǎn)擊時(shí)觸發(fā)的事件。 ? 通過(guò)重新定義contextMenuEvent()來(lái)實(shí)現(xiàn)自定…

????????在 PySide中,contextMenuEvent()?是?QWidget?類(以及繼承自它的所有子類)的一個(gè)事件處理方法,主要用于處理上下文菜單事件,也就是當(dāng)用戶在控件上右鍵點(diǎn)擊時(shí)觸發(fā)的事件。

? 通過(guò)重新定義contextMenuEvent()來(lái)實(shí)現(xiàn)自定義的鼠標(biāo)右鍵菜單

from PySide6.QtGui import QAction
from PySide6.QtWidgets import QApplication, QWidget, QMenu
from PySide6.QtCore import Qtclass MyWidget(QWidget):def __init__(self):super().__init__()# 創(chuàng)建一個(gè)菜單self.menu = QMenu(self)# 創(chuàng)建菜單項(xiàng)action1 = QAction("菜單項(xiàng)1", self)action2 = QAction("菜單項(xiàng)2", self)# 將菜單項(xiàng)添加到菜單中self.menu.addAction(action1)self.menu.addAction(action2)# 連接信號(hào)和槽,定義點(diǎn)擊菜單項(xiàng)后的行為action1.triggered.connect(self.on_action1_triggered)action2.triggered.connect(self.on_action2_triggered)def contextMenuEvent(self, event):# 在鼠標(biāo)點(diǎn)擊的位置顯示菜單self.menu.exec(event.globalPos())def on_action1_triggered(self):print("菜單項(xiàng)1被觸發(fā)")def on_action2_triggered(self):print("菜單項(xiàng)2被觸發(fā)")# 應(yīng)用程序執(zhí)行部分
if __name__ == "__main__":app = QApplication([])widget = MyWidget()widget.show()app.exec()

?? 將其定義在子部件內(nèi):

from PySide6.QtGui import QAction
from PySide6.QtWidgets import QApplication, QWidget, QMenu, QPushButtonclass MyWidget(QWidget):def __init__(self):super().__init__()self.setupUi()def setupUi(self):self.button = MyButton(self)class MyButton(QPushButton):def __init__(self, parent=None):super().__init__(parent)self.setText("右鍵點(diǎn)擊我")# 創(chuàng)建一個(gè)菜單self.menu = QMenu(self)# 創(chuàng)建菜單項(xiàng)action1 = QAction("菜單項(xiàng)1", self)action2 = QAction("菜單項(xiàng)2", self)# 將菜單項(xiàng)添加到菜單中self.menu.addAction(action1)self.menu.addAction(action2)# 連接信號(hào)和槽,定義點(diǎn)擊菜單項(xiàng)后的行為action1.triggered.connect(self.on_action1_triggered)action2.triggered.connect(self.on_action2_triggered)def contextMenuEvent(self, event):# 在鼠標(biāo)點(diǎn)擊的位置顯示菜單self.menu.exec(event.globalPos())def on_action1_triggered(self):print("菜單項(xiàng)1被觸發(fā)")def on_action2_triggered(self):print("菜單項(xiàng)2被觸發(fā)")# 應(yīng)用程序執(zhí)行部分
if __name__ == "__main__":app = QApplication([])widget = MyWidget()widget.show()app.exec()

上述代碼,只有在按鈕上有鼠標(biāo)右鍵菜單。?

? 獲取系統(tǒng)默認(rèn)的右鍵菜單并添加新的菜單項(xiàng)?

import sys
from PySide6.QtGui import QAction
from PySide6.QtWidgets import QApplication, QLineEdit, QMenuclass MyLineEdit(QLineEdit):def __init__(self, parent=None):super().__init__(parent)self.setText("右鍵點(diǎn)擊我")self.menu = QMenu(self)   # 創(chuàng)建一個(gè)菜單self.addMenus()         # 添加菜單的菜單項(xiàng)def addMenus(self):# 獲取系統(tǒng)默認(rèn)的上下文菜單動(dòng)作default_actions = self.createStandardContextMenu().actions()# 將默認(rèn)動(dòng)作添加到新菜單中for action in default_actions:print(action.text())self.menu.addAction(action)# 將新的菜單項(xiàng)添加到新菜單中self.action1 = QAction("菜單項(xiàng)1", self)self.action2 = QAction("菜單項(xiàng)2", self)self.menu.addSeparator()  # 創(chuàng)建分割線# 添加自定義菜單項(xiàng)self.menu.addAction(self.action1)self.menu.addAction(self.action2)# 連接信號(hào)和槽函數(shù)self.action1.triggered.connect(self.on_action1_triggered)self.action2.triggered.connect(self.on_action2_triggered)# 重寫(xiě)上下文菜單事件def contextMenuEvent(self, event):# 顯示菜單self.menu.exec(event.globalPos())def on_action1_triggered(self):print("菜單項(xiàng)1被點(diǎn)擊")def on_action2_triggered(self):print("菜單項(xiàng)2被點(diǎn)擊")if __name__ == "__main__":app = QApplication(sys.argv)line_edit = MyLineEdit()line_edit.show()sys.exit(app.exec())

????????上面的代碼,讀取了系統(tǒng)內(nèi)置的默認(rèn)右鍵菜單,并增加了兩個(gè)自定義的菜單項(xiàng),構(gòu)成了一個(gè)新的菜單。重寫(xiě)了contextMenuEvent(),使其顯示新的菜單。

?? 為新菜單設(shè)置快捷方式

import sys
from PySide6.QtGui import QAction
from PySide6.QtWidgets import QApplication, QLineEdit, QMenuclass MyLineEdit(QLineEdit):def __init__(self, parent=None):super().__init__(parent)self.setText("右鍵點(diǎn)擊我")self.menu = QMenu(self)   # 創(chuàng)建一個(gè)菜單self.addMenus()         # 添加菜單的菜單項(xiàng)def addMenus(self):# 獲取系統(tǒng)默認(rèn)的上下文菜單動(dòng)作default_actions = self.createStandardContextMenu().actions()# 將默認(rèn)動(dòng)作添加到新菜單中for action in default_actions:self.menu.addAction(action)# 將新的菜單項(xiàng)添加到新菜單中self.action1 = QAction("菜單項(xiàng)1", self)   # 創(chuàng)建菜單項(xiàng)self.action1.setShortcut("Ctrl+B")       # 設(shè)置快捷鍵self.action2 = QAction("菜單項(xiàng)2", self)self.menu.addSeparator()  # 創(chuàng)建分割線# 添加自定義菜單項(xiàng)self.addAction(self.action1)             # 將菜單項(xiàng)添加到部件的主體中,用以生效快捷方式self.menu.addAction(self.action1)  # 將菜單項(xiàng)添加到菜單中self.menu.addAction(self.action2)# 連接信號(hào)和槽函數(shù)self.action1.triggered.connect(self.on_action1_triggered)self.action2.triggered.connect(self.on_action2_triggered)# 重寫(xiě)上下文菜單事件def contextMenuEvent(self, event):# 顯示菜單self.menu.exec(event.globalPos())def on_action1_triggered(self):print("菜單項(xiàng)1被點(diǎn)擊")def on_action2_triggered(self):print("菜單項(xiàng)2被點(diǎn)擊")if __name__ == "__main__":app = QApplication(sys.argv)line_edit = MyLineEdit()line_edit.show()sys.exit(app.exec())
????這里注意,只有執(zhí)行了:self.addAction(self.action1),將菜單項(xiàng)添加到部件的主體中,才能生效快捷方式。而self.menu.addAction(self.action1)只是將菜單項(xiàng)添加到菜單中,并未在部件中注冊(cè)菜單項(xiàng)。

除了重新定義contextMenuEvent(),還有另一種更為靈活的方法:

? 使用策略設(shè)置setContextMenuPolicy()的方法來(lái)定義菜單:

PyQT(PySide)的上下文菜單策略設(shè)置setContextMenuPolicy()-CSDN博客

http://www.risenshineclean.com/news/64325.html

相關(guān)文章:

  • 網(wǎng)站建設(shè)123上海seo顧問(wèn)推推蛙
  • 做網(wǎng)站的接私活犯法嗎百度搜索關(guān)鍵詞統(tǒng)計(jì)
  • h5響應(yīng)式網(wǎng)站建設(shè)常州seo招聘
  • 一級(jí)a做爰免費(fèi)網(wǎng)站抖音推廣怎么收費(fèi)
  • 域名查詢站長(zhǎng)之家如何注冊(cè)屬于自己的網(wǎng)站
  • 全國(guó)備案網(wǎng)站數(shù)量cnzz
  • 跨境商城網(wǎng)站建設(shè)頭條搜索
  • 網(wǎng)站建設(shè)風(fēng)格有哪些seo搜索引擎工具
  • 想學(xué)廣告設(shè)計(jì)沒(méi)有基礎(chǔ)家庭優(yōu)化大師免費(fèi)下載
  • b站大全收費(fèi)2023入口在哪人力資源短期培訓(xùn)班
  • 做技術(shù)分享網(wǎng)站 盈利搜索引擎營(yíng)銷的原理是什么
  • dede如何設(shè)置網(wǎng)站端口全國(guó)疫情最新報(bào)告
  • 17網(wǎng)站一起做網(wǎng)店 發(fā)貨慢重慶森林電影簡(jiǎn)介
  • 音樂(lè)介紹網(wǎng)站怎么做的網(wǎng)絡(luò)營(yíng)銷電子版教材
  • 上線了做網(wǎng)站怎么樣網(wǎng)站流量統(tǒng)計(jì)分析的維度包括
  • 江西省建設(shè)工程協(xié)會(huì)網(wǎng)站查詢鄭州專業(yè)的網(wǎng)站公司
  • 做網(wǎng)站掙錢(qián)不廣告有限公司
  • 網(wǎng)站設(shè)計(jì)合同模板網(wǎng)站優(yōu)化技巧
  • 廣州好的做網(wǎng)站公司互聯(lián)網(wǎng)營(yíng)銷培訓(xùn)
  • wordpress插件看訪問(wèn)者數(shù)量關(guān)鍵詞優(yōu)化策略
  • 買(mǎi)網(wǎng)站需要注意什么游戲推廣員怎么做
  • 邢臺(tái)網(wǎng)站建設(shè)與制作官網(wǎng)排名優(yōu)化方案
  • 做網(wǎng)站前期框架圖站長(zhǎng)工具查詢官網(wǎng)
  • 保亭整站優(yōu)化網(wǎng)絡(luò)營(yíng)銷公司排名
  • 做可動(dòng)模型的網(wǎng)站網(wǎng)站關(guān)鍵詞挖掘
  • 鄭州網(wǎng)站建設(shè)網(wǎng)絡(luò)推廣seo優(yōu)化與推廣招聘
  • cnzz 網(wǎng)站域名怎么填營(yíng)銷策略的概念
  • 我做網(wǎng)站了網(wǎng)絡(luò)推廣方法有幾種
  • 免費(fèi)空間測(cè)試網(wǎng)站信陽(yáng)網(wǎng)絡(luò)推廣公司
  • 數(shù)字營(yíng)銷 h5 網(wǎng)站開(kāi)發(fā)正規(guī)推廣賺傭金的平臺(tái)