当前位置: 首页 > wzjs >正文

网站集约化平台建设wordpress模板代码

网站集约化平台建设,wordpress模板代码,中介用什么软件抓取房源,徐州网站建设优化宣传在 Qt 中,QWidget 类提供了几种不同的上下文菜单策略,这些策略通过 Qt::ContextMenuPolicy 枚举类型来定义,用于控制控件(如按钮、文本框等)在用户右键点击时如何显示上下文菜单。 以下是 Qt::ContextMenuPolicy 枚举中…

        在 Qt 中,QWidget 类提供了几种不同的上下文菜单策略,这些策略通过 Qt::ContextMenuPolicy 枚举类型来定义,用于控制控件(如按钮、文本框等)在用户右键点击时如何显示上下文菜单。

        以下是 Qt::ContextMenuPolicy 枚举中定义的所有上下文菜单策略:

1. Qt::DefaultContextMenu

  • 含义:使用默认的上下文菜单处理方式。对于大多数控件,这通常意味着当用户右键点击时,会根据操作系统和控件的默认行为显示一个上下文菜单。
  • 示例代码
import sysfrom PySide6.QtCore import Qt
from PySide6.QtWidgets import QApplication, QWidget, QLineEditapp = QApplication(sys.argv)
window = QWidget()line_edit = QLineEdit("DefaultContextMenu", window)
line_edit.setContextMenuPolicy(Qt.DefaultContextMenu)window.show()
sys.exit(app.exec())

• 当单击鼠标右键,弹出默认的菜单。

2. Qt::NoContextMenu

  • 含义:控件不会显示上下文菜单。当用户在该控件上右键点击时,不会触发任何与上下文菜单相关的操作。注意:该策略只是简单地让控件自身不显示上下文菜单,但当用户在这个控件上触发上下文菜单事件(通常是右键点击)时,这个事件会继续向其父控件传播。如果父控件有相应的上下文菜单处理逻辑,那么父控件的上下文菜单可能会显示出来。
  • 示例代码
import sysfrom PySide6.QtCore import Qt
from PySide6.QtWidgets import QApplication, QWidget, QLineEditapp = QApplication(sys.argv)
window = QWidget()line_edit = QLineEdit("No Context Menu", window)
line_edit.setContextMenuPolicy(Qt.NoContextMenu)window.show()
sys.exit(app.exec())

3. Qt::PreventContextMenu

  • 含义:阻止上下文菜单的显示,并且不会向父控件传播上下文菜单事件。这意味着即使父控件有上下文菜单处理逻辑,也不会被触发。
  • 示例代码
import sysfrom PySide6.QtCore import Qt
from PySide6.QtGui import QAction
from PySide6.QtWidgets import QApplication, QWidget, QLineEdit, QMenuapp = QApplication(sys.argv)class MyWindow(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):self.setWindowTitle("上下文菜单")self.resize(300, 200)# 重写上下文菜单事件def contextMenuEvent(self, event):# 创建一个菜单menu = QMenu(self)# 创建菜单项action1 = QAction("菜单项1", self)action2 = QAction("菜单项2", self)# 将菜单项添加到菜单中menu.addAction(action1)menu.addAction(action2)# 在鼠标点击的位置显示菜单menu.exec(event.globalPos())window = MyWindow()
line_edit = QLineEdit("PreventContextMenu", window)
line_edit.setContextMenuPolicy(Qt.PreventContextMenu)window.show()
sys.exit(app.exec())

        这个范例中,由于line_edit设置了PreventContextMenu策略,虽然它的父容器定义了菜单,但是阻止了向父控件传播上下文菜单事件,所以点击它没有任何菜单显示。

如果将上述代码修改为DefaultContextMenu策略:

import sysfrom PySide6.QtCore import Qt
from PySide6.QtGui import QAction
from PySide6.QtWidgets import QApplication, QWidget, QLineEdit, QMenuapp = QApplication(sys.argv)class MyWindow(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):self.setWindowTitle("上下文菜单")self.resize(300, 200)# 重写上下文菜单事件def contextMenuEvent(self, event):# 创建一个菜单menu = QMenu(self)# 创建菜单项action1 = QAction("菜单项1", self)action2 = QAction("菜单项2", self)# 将菜单项添加到菜单中menu.addAction(action1)menu.addAction(action2)# 在鼠标点击的位置显示菜单menu.exec(event.globalPos())window = MyWindow()
line_edit = QLineEdit("PreventContextMenu", window)
line_edit.setContextMenuPolicy(Qt.DefaultContextMenu)window.show()
sys.exit(app.exec())

它就会显示自己的默认菜单。

 或者设置为NoContextMenu策略:

import sysfrom PySide6.QtCore import Qt
from PySide6.QtGui import QAction
from PySide6.QtWidgets import QApplication, QWidget, QLineEdit, QMenuapp = QApplication(sys.argv)class MyWindow(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):self.setWindowTitle("上下文菜单")self.resize(300, 200)# 重写上下文菜单事件def contextMenuEvent(self, event):# 创建一个菜单menu = QMenu(self)# 创建菜单项action1 = QAction("菜单项1", self)action2 = QAction("菜单项2", self)# 将菜单项添加到菜单中menu.addAction(action1)menu.addAction(action2)# 在鼠标点击的位置显示菜单menu.exec(event.globalPos())window = MyWindow()
line_edit = QLineEdit("PreventContextMenu", window)
line_edit.setContextMenuPolicy(Qt.NoContextMenu)window.show()
sys.exit(app.exec())

 点击后自己的菜单不显示,但是将点击事件传递给了父容器,所以会显示父容器的菜单:

4. Qt::ActionsContextMenu

  • 含义:控件的上下文菜单由其 actions() 方法返回的动作列表组成。可以通过向控件添加动作(QAction)来定义上下文菜单的选项。
  • 示例代码
import sysfrom PySide6.QtCore import Qt
from PySide6.QtGui import QAction
from PySide6.QtWidgets import QApplication, QWidget, QPushButton, QLineEditapp = QApplication(sys.argv)
window = QWidget()class MyLineEdit(QLineEdit):def __init__(self, parent=None):super().__init__(parent)self.setupUi(self)def setupUi(self, parent):self.setText("PreventContextMenu")self.setContextMenuPolicy(Qt.ActionsContextMenu)     # 设置上下文菜单策略action = QAction("Action 1", self)self.addAction(action)   # 创建的时候已经有了Action 1菜单项line_edit = MyLineEdit(window)action = QAction("Action 2", line_edit)
line_edit.addAction(action)   # 再添加一个Action 2菜单项window.show()
sys.exit(app.exec())

进一步的,我们可以读取控件的系统内置默认菜单,并且再后面加上自定义的菜单项:

import sysfrom PySide6.QtCore import Qt
from PySide6.QtGui import QAction
from PySide6.QtWidgets import QApplication, QWidget, QPushButton, QLineEditapp = QApplication(sys.argv)
window = QWidget()class MyLineEdit(QLineEdit):def __init__(self, parent=None):super().__init__(parent)self.setupUi(self)def setupUi(self, parent):self.setText("ActionsContextMenu")self.setContextMenuPolicy(Qt.ActionsContextMenu)     # 设置上下文菜单策略default_actions = self.createStandardContextMenu().actions()   # 获取系统默认的上下文菜单self.addActions(default_actions)   # 添加系统默认的上下文菜单action = QAction("Action 1", self)   # 创建一个Action 1菜单项self.addAction(action)   # 添加Action 1菜单项line_edit = MyLineEdit(window)action = QAction("Action 2", line_edit)
line_edit.addAction(action)   # 再添加一个Action 2菜单项window.show()
sys.exit(app.exec())

5. Qt::CustomContextMenu

  • 含义:自定义上下文菜单。
            当用户在控件上右键点击时,会发出 customContextMenuRequested 信号,开发者可以连接这个信号到自定义的槽函数,在槽函数中创建并显示自定义的上下文菜单。
  • 示例代码
import sysfrom PySide6.QtCore import Qt
from PySide6.QtWidgets import QApplication, QWidget, QMenu, QLineEditapp = QApplication(sys.argv)
window = QWidget()line_edit = QLineEdit("PreventContextMenu", window)
line_edit.setContextMenuPolicy(Qt.CustomContextMenu)   # 设置上下文菜单策略# 槽函数
def show_context_menu(pos):menu = QMenu(line_edit)menu.addAction("Custom Action")menu.exec(line_edit.mapToGlobal(pos))line_edit.customContextMenuRequested.connect(show_context_menu)   # 连接信号和槽window.show()
sys.exit(app.exec())

通过重新定义contextMenuEvent() 的方法来定义右键菜单:

PySide(PyQT)重新定义contextMenuEvent()实现鼠标右键弹出菜单-CSDN博客


文章转载自:

http://VdRuaa26.fygLr.cn
http://9MCo3vOR.fygLr.cn
http://lfqMzoWx.fygLr.cn
http://SUfYFYOk.fygLr.cn
http://8ZVq6gmV.fygLr.cn
http://meiOURxN.fygLr.cn
http://kb8xXMrv.fygLr.cn
http://47TxcI0q.fygLr.cn
http://txVpSRoZ.fygLr.cn
http://nB4rGs7c.fygLr.cn
http://eJHY5wnn.fygLr.cn
http://GaOg29TA.fygLr.cn
http://ijpjznD0.fygLr.cn
http://TfIWlrDf.fygLr.cn
http://RBGCBY0c.fygLr.cn
http://DJrlRQW1.fygLr.cn
http://ue4rKx45.fygLr.cn
http://yA8j54mB.fygLr.cn
http://OYzHMkXP.fygLr.cn
http://PB4FCjz0.fygLr.cn
http://Rm9JnwgN.fygLr.cn
http://5dlnNSUp.fygLr.cn
http://fYUoHJZc.fygLr.cn
http://JeAxbnU9.fygLr.cn
http://uInkqFZv.fygLr.cn
http://IYJFaLu2.fygLr.cn
http://CQiGDQKE.fygLr.cn
http://4teJDjvi.fygLr.cn
http://NzdjcTy2.fygLr.cn
http://LF2yQwPd.fygLr.cn
http://www.dtcms.com/wzjs/680286.html

相关文章:

  • 杭州互助盘网站开发做网站dw
  • 做教学的视频网站有哪些问题华为手机官网商城
  • sns社交网站 有哪些品牌推广内容
  • 怎么创建自己的公司网站呼市网站设计公司
  • 重庆网网站建设公司电脑网络服务器在哪里
  • 玩客云 做网站服务器长沙建站找有为太极就治就
  • 电视台网站建设方案如何做推广引流赚钱
  • 网站导航背景 蓝色电商网站设计趋势
  • 单位网站建设运维情况成立公司注册资本需要实缴吗
  • 平台类网站建设价格表网站模版是所有源代码
  • 花生壳动态域名做网站做gif表情包网站
  • .net如何做直播网站做视频的软件模板下载网站有哪些内容
  • 怎么做网站旅游宣传医院网站建设 中标
  • 做网站赚广告费多么设计方案流程
  • 企业网站建站系统青州市城乡建设局网站
  • 做网站要买服务器吗网站维护一次一般要多久
  • 网站建设 维护费用wordpress很安全
  • 宗亲网站开发公众号怎么建网站
  • 网站建设外包服务管理情况app软件开发定义
  • 做设计需要素材的常用网站有哪些开发小程序
  • 山西威力网站建设推荐app平台需要多少钱
  • 下城区做网站国外网站建设什么价格
  • 网站推广排名优化邓州十九张麻将微信群app开发公司
  • 广告效果图用什么软件做苏州百度推广排名优化
  • 做ppt的兼职网站有哪些佛山做外贸网站信息
  • 注册网站如何备案asp.net网站开发项目化教程
  • 网站开发资质做网站服务器e3
  • 北京网站建设 和君dicuz和wordpress整合
  • 平顶山做网站的公司国家工商官网查询
  • 邳州网站建设wordpress没有写权限