[pyqt5]触发ctrl+鼠标滚轮事件

这篇具有很好参考价值的文章主要介绍了[pyqt5]触发ctrl+鼠标滚轮事件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

有时候我们需要按住Ctrl+鼠标滚轮实现图像放大或者缩小,因此需要这个事件,具体看代码文章来源地址https://www.toymoban.com/news/detail-533687.html

import sys
from PyQt5 import QtCore
from PyQt5.QtCore import Qt, QPoint
from PyQt5.QtGui import QPainter, QPen, QPixmap
from PyQt5.QtWidgets import QApplication, QWidget


class DemoMouseEvent(QWidget):
    def __init__(self, parent=None):
        super(DemoMouseEvent, self).__init__(parent)

        # 设置窗口标题
        self.setWindowTitle('鼠标事件演示')
        # 设置窗口大小
        self.setFixedSize(480, 320)

        self.beginPoint = QPoint()  # 起始点
        self.endPoint = QPoint()  # 结束点

        self.pixmap = QPixmap(self.rect().size())
        self.pixmap.fill(Qt.lightGray)

    # 重绘窗口事件
    def paintEvent(self, event):
        pp = QPainter(self.pixmap)
        pp.setPen(QPen(Qt.blue, 2))  # 设置画笔

        # 绘制直线
        pp.drawLine(self.beginPoint, self.endPoint)
        # 上一直线的终点就是下一直线的起点
        self.beginPoint = self.endPoint

        # 在画布上画出
        painter = QPainter(self)
        painter.drawPixmap(0, 0, self.pixmap)

    def wheelEvent(self, ev):
        mods = ev.modifiers()
        #print('mods=', mods)
        delta = ev.angleDelta()
        #print('delta=', delta)
        if QtCore.Qt.ControlModifier == int(mods):
            if int(delta.y())>0:
                print("ctrl 向上滚轮")
            else:
                print("ctrl 向下滚轮")

    def mousePressEvent(self, event):
        # 鼠标左键按下
        if event.button() == Qt.LeftButton:
            self.startPoint = event.pos()

    def mouseReleaseEvent(self, event):
        # 鼠标左键释放
        if event.button() == Qt.LeftButton:
            self.endPoint = event.pos()
            # 重新绘制
            self.update()

    def mouseMoveEvent(self, event):
        # 鼠标左键按下的同时移动鼠标
        if event.buttons() and Qt.LeftButton:
            self.endPoint = event.pos()
            # 重新绘制
            self.update()


if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = DemoMouseEvent()
    window.show()
    sys.exit(app.exec())

到了这里,关于[pyqt5]触发ctrl+鼠标滚轮事件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • PyQt5下界面设计, 无边框加阴影界面, 鼠标左键移动事件

            本人小白, 网罗各个网页与资源学习总结的内容, 设置界面无边框且留有阴影, 且鼠标左键可以拖动界面的方法.         首先我们寻找一个模板进行学习演示, 例如腾讯会议的界面:         本人会仿照这个界面进行演示说明, 包括各种样式(你看到就是赚到)      

    2023年04月09日
    浏览(29)
  • VSCode无法用ctrl+鼠标滚轮调整字体大小了

    VSCode (Visual Studio Code) 中使用 Ctrl + 鼠标滚轮来调整字体大小的功能通常是由 VSCode 的设置控制的。如果你发现这个功能不再工作,你可以尝试以下几个步骤来恢复或检查这个设置: 检查是否有冲突的快捷键或扩展 : 打开 VSCode 的快捷键编辑器 ( File Preferences Keyboard Shortcuts 或使

    2024年03月09日
    浏览(49)
  • Qt/QtCreator:主动触发鼠标或键盘事件QMouseEvent与QKeyEvent

    方法:          构造QMouseEvent或QKeyEvent,使用QApplication::sendEvent或postEvent进行投送事件    。         QApplication::sendEvent()和QApplication::postEvent()都是Qt中用于发送事件的函数,它们之间的区别在于事件的处理方式。         QApplication::sendEvent(target, event)是直接将事件

    2024年02月15日
    浏览(31)
  • C# 在picturebox控件里实现用鼠标滚轮让图片上下翻页,按住ctrl键加鼠标滚轮实现图片放大缩小

    想要实现picturebox控件里面用鼠标滚轮让图片上下翻页和按住ctrl键加鼠标滚轮实现图片放大缩小这两个功能,就要借助于picturebox控件中的三个事件。 第一个是pictureBox1_KeyUp。 第二个是pictureBox1_KeyDown。 第三个是PictureBox1_MouseWheel 下面直接上代码就可以了: private void pictureBox1

    2024年02月09日
    浏览(46)
  • eclipse中关于java中Ctrl+鼠标滚轮调整大小失效后,怎么调整大小

    eclipse默认可以ctrl+是放大字体,ctrl-是缩小字体。以前我的eclipse可以trl+滚轮调整大小的,最近不知道怎么地,就失效了,所以:s 网找了很多教程,找到一个能解决一半的教程,如下: 在Eclipse中,你可以设置CTRL和鼠标滚轮组合来实现页面缩放的功能。这个功能十分实用,能

    2024年01月17日
    浏览(33)
  • Pyqt通过鼠标滚轮进行缩放界面

    大多数视图类和一部分控件应该都有wheelEvent()函数 首先定义变量,这里为了缩小和放大的比例相同,缩小倍数为1除以放大倍数。 重写wheelEvent函数。 这里的event对象是个QWheelEvent事件对象。  event.angleDelta()返回一个Qpoint对象,代表滚动的数值。单位是8分之一度。转一下一

    2024年02月12日
    浏览(34)
  • [pyqt5]关于在pyqt5界面上鼠标位置问题

    先上代码,主要看鼠标移动事件里面代码 通过运行代码可以发现: 上面这2行就是相当于屏幕左上角坐标了

    2024年02月15日
    浏览(28)
  • JavaScript鼠标滚轮事件

    一 、首先,获取需要绑定事件的元素,可以是整个网页文档,也可以是某个特定的元素。例如,使用以下代码获取整个文档对象: 二、使用addEventListener函数为该元素添加mousewheel或DOMMouseScroll事件的监听器。这两个事件分别在不同的浏览器中使用,使用以下代码监听这两个事

    2024年02月15日
    浏览(32)
  • js监听鼠标滚轮事件

    通过原生js监听鼠标滚轮事件 通过jquery实现鼠标滚轮事件,若ie8无法实现,降低jquery版本

    2024年02月16日
    浏览(37)
  • android鼠标滚轮事件监听方法

    2024年02月08日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包