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

俄罗斯免费网站推广在华图做网站编辑

俄罗斯免费网站推广,在华图做网站编辑,视频模板网,国家重大建设项目网站地址在 Qt 中#xff0c;QWidget 类提供了几种不同的上下文菜单策略#xff0c;这些策略通过 Qt::ContextMenuPolicy 枚举类型来定义#xff0c;用于控制控件#xff08;如按钮、文本框等#xff09;在用户右键点击时如何显示上下文菜单。 以下是 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, parentNone):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, parentNone):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() 的方法来定义右键菜单 PySidePyQT重新定义contextMenuEvent()实现鼠标右键弹出菜单-CSDN博客
http://www.tj-hxxt.cn/news/217000.html

相关文章:

  • 外包公司做网站的流程黑龙江做网站的
  • 做网站去哪个公司好少儿python基础教程
  • 高校支付网站建设费需要入无形资产网站开通微信支付接口开发
  • 网站解析加速中企动力这个公司怎么样
  • 网站换ip 有多大影响wordpress 3d标签
  • 查域名是否注册河南seo网站策划
  • 无极网站网站涉案多少人被抓太原响应式网站建设
  • 黑龙江省建设协会网站首页图片素材网站哪个最好
  • 天津公司网站开发肇庆网站建设制作公司
  • 做电路设计的兼职网站文创网站
  • 无法连接wordpress站点电商代运营
  • 纯免费建站做网站在什么地方发帖子呢
  • 帝国网站认证码上海网站代优化
  • 短视频素材下载网站 免费u nas 建设网站
  • 北京购物网站建设公司wordpress菜单里想在添加一个菜单
  • 企业管理网站系统用于做网站头的图片
  • 杭州城市建设网站工体网站建设公司
  • 青岛做网站哪家优化好网站建设兆金手指花总
  • 网站搭建网站wordpress前面增加new
  • wordpress建网站知乎移动网站开发 公众号
  • 网站为什么备案企业网站 手机网站 app 微网站
  • 网站 参数组织建设方面
  • 龙岗住房建设局网站企业建筑网站
  • 成都专业做网站网站程序安装
  • 免费行情软件网站下载展台展览
  • 石家庄心雨网站建设网站开发难点
  • 广州自助网站设计平台wordpress去掉版本号
  • 镇江网站制作案例网站建设化妆品的目录
  • 网站内容维护有哪些方面公司主页怎么填
  • 濮阳网站建设哪里便宜深圳制作公司网站