QWidget鼠标操作

article/2025/10/13 2:17:53

1、设置鼠标形状:鼠标放置在不同控件上(有不同功能时)鼠标的形状是不一样的。

        鼠标跟踪:鼠标在某一个控件上移动,则会向对应的控件对象发送一个消息,去调用具体的某一个方法,可以在方法里面监听鼠标的轨迹。

 

 

 2、案例、自定义鼠标设置

app = QApplicaiton(sys.argv)window = QWidget()
window.setWindowTitle("鼠标操作")
window.resize(500, 500)label  = QLabel(window)
label.setText("鼠标操作")
label.resize(200, 200)
label.setStyleSheet("background-color:cyan")label.setCursor(Qt.ForbiddenCursor)sys.exit(app.exct_())

自定义鼠标设置:

import sys
from PyQt5.Qt import *if __name__ == "__main__":app = QApplication(sys.argv)window = QWidget()window.setWindowTitle("鼠标操作")window.resize(500, 500)# 当鼠标在window空间内部,则鼠标变为繁忙状态#window.setCursor(Qt.BusyCursor)label = QLabel(window)label.setText("鼠标")label.resize(200, 200)label.setStyleSheet("background-color:cyan")# 第一个参数是一个独一无二的枚举值,第二个参数是一个QCursor对象pixmap = QPixmap(r"C:\Users\22104\Desktop\OIP-C.jpg")# 将缩放结果返回给外界,但图像并未改变new_pixmap = pixmap.scaled(20,20)# 鼠标对象需要一个图片对象,所以需要创建一个图片对象# 图像对象作为cursor的参数,可以使用str作为图形的路径# # (-1,-1)指图片的中心位置,中心位置放在那里,那里就有作用,0,0指左上角,20,20指右下角cursor = QCursor(new_pixmap, 20, 20)label.setCursor(cursor)window.show()sys.exit(app.exec_())

3、重置形状、获取鼠标:window.unsetCursor(),获取鼠标,就可以间接获取鼠标的图像、位置等信息。

    cursor = QCursor(new_pixmap, 20, 20)label.setCursor(cursor)label.unsetCursor()window.show()sys.exit(app.exec_())
    # 可以获取鼠标对象,获取它的位置# 返回一个鼠标对象print(label.cursor())# 设置鼠标的位置,鼠标位置是相比于整个桌面窗口current_cursor = label.cursor()print(current_cursor.pos())print(label.cursor().pos())# 鼠标会直接跑到桌面左上角current_cursor.setPos(0,0)

 4、鼠标跟踪操作:不跟踪的时候,只有当鼠标左键处于按下状态,才会触发对应的鼠标事件;跟踪的情况下,当鼠标移动时,即使不按下左键,也会触发相应的事件。

当鼠标在控件内部移动时,才会调用控件的某一个事件方法。

import sys
from PyQt5.Qt import *class MyWindow(QWidget):def mouseMoveEvent(self, me):# 获取全局的坐标print("鼠标移动了!", me.globalPos())app = QApplication(sys.argv)
window = MyWindow()
window.setWindowTitle("鼠标操作")
window.resize(500, 500)
# 使鼠标处于跟踪状态
window.setMouseTracking(True)
print(window.hasMouseTracking())window.show()sys.exit(app.exec_())

http://chatgpt.dhexx.cn/article/fqgvcMeg.shtml

相关文章

QWidget旋转方法

参考链接:https://stackoverflow.com/questions/43388464/rotate-whole-qwidget-by-angle 说明: 本文实现方法本质是使用QGraphics三件套,即View、Scene、Item,将QWidget控件作为Item显示,从而实现角度控制的目的&…

QWidget设置背景图及圆角

在Qt开发过程中,QWidget是经常作为主窗体的父窗口,有时我们需要对主窗口设置背景,设置圆角以达到美观的效果,通常的有以下三种方法:qss, QPalette设置以及paintEvent绘制。下面介绍这三种方法。 背景设置介绍 方法一&a…

QWidget之adjustSize

from PyQt5.Qt import * import sys# 创建一个应用程序对象 app QApplication(sys.argv)window QWidget()label QLabel(window) label.setText(学无止境) label.move(100, 100) label.setStyleSheet(background-color:gray)def changeCao():tmp label.text()学无止境label.…

初识QWidget

初识QWidget 在Qt中QWidget是一个非常关键和重要的类,推荐初学Qt的同学们第一个学习此类 在Qt的帮助手册中我们搜索QWidget,可以看到下图的描述 通过帮助手册我们了解到如果想使用QWidget这个类,需要包含QWidget这个头文件,Qt特…

QWidget继承

查看QWidget的继承于哪个类 方法一 随便写一个类继承自己QWidget 按住Ctrl鼠标单击QWidget即可 方法二 print(QWidget.__base__)方法三 print(QWidget.mro()) 链条式的继承展示 enjoy

QWidget(长文)

一、描述 1、QWidget 是用户界面的原子:它从窗口系统接收鼠标、键盘和其他事件,并在屏幕上绘制自己的表示。每个小部件都是矩形的,它们按Z顺序排序。小部件由其父部件和它前面的小部件剪裁。 2、未嵌入父窗口小部件的 QWidget 称为窗口。通…

QWidget的使用

一、QWidget介绍 QWidget是用户操作的原子接口,它从窗口系统中接收鼠标,键盘以及其他事件,并绘制图形界面。QT提供的默认窗口基类只有QMainWindow、QWidget、和QDialog这三种,QMainWindow是带有菜单栏和工具栏的主窗口类&#xf…

QWidget

QWidget QWidget是容器组件,继承自QObject类和QPaintDevice类。能够绘制自己和处理用户输入,是QT中所有窗口组件类的父类,是所有窗口组件的抽象,每个窗口组件都是一个QWidget,QWidget类对象常用作父组件或顶级组件使用…

QT学习总结之QWidget详解

1、说明 QWidget类是所有用户界面对象的基类。 QWidget是用户界面的原子类。它接收鼠标、键盘和来自系统的其他事件,并在屏幕上将它们绘制出来。每个Widget都是矩形的,并按照Z-order(Z轴)进行排序。一个Widget夹在它的Parent和它…

VS2019安装与使用教程

VS2019安装与使用教程 可能有很多小伙伴们,知道VS2019这个软件,但是不知道怎么安装与使用,下面我将具体介绍VS2019的安装方法与创建我们自己的C项目以及如何运行自己编写的代码! Visual Studio 2019(VS2019)简介 Microsoft Visual…

vs2017初学c++环境配置及使用教程

作为一个计算机小白, 初学c的时候使用了vs2017, 配置环境如下 如图所示, 可以实现c的基本操作. 在vs2017的版本中, 取消了win32这个选项, 所以直接选择新建空项目. 在解决方案资源管理器中, 于源文件处新建.cpp文件, 即可执行操作. 如果出现闪现的情况, 则右键点击解决方案资…

【转载】VS2019使用技巧

大家好,今天分享几个我知道的实用 VS 技巧,而这些技巧我发现很多人都不知道。因为我经常在工作中遇到:我在同事电脑上解决问题,或在会议上演示代码示例时,使用了一些 VS “骚”操作,他们会好奇地问&#xf…

VS2019安装教程

VS2019安装教程 (如果下面的博客没有能解决你的问题或者你还有其他关于计算机方面的问题需要咨询可以加博主QQ:1732501467) 在安装完JDK后,现在还不能使用java来进行编程,此时你还需要一个java开发工具,其…

VS2017专业版使用最新版Qt5.9.2教程(最新教材)

VS2017专业版使用最新版Qt5.9.2教程(最新教材) 目录 VS2017专业版使用最新版Qt5.9.2教程(最新教材) 运行环境: 1.安装Qt5.9.2 2.安装Qt5.9与VS2017之间的插件: 3.配置Qt VS Tool的环境. 4.设置创建的Qt的项目的…

Visual Studio(VS)2013使用教程

目录 1、初始2、新建项目3、点下一步后,此步后点完成4、解决方案资源管理器5、新建文件6、代码完成后不要点调试7、头文件显示:无法打开源文件路径未被包含若这一步没问题,则可能新建项时路径出错①添加包含目录级如上述②移除文件&#xff0…

Visual Studio 2017安装和使用教程(详细

Visual Studio 2017安装和使用教程&#xff08;详细&#xff09; 2018-10-09 01:02 来源:c语言程序设计官方 </div>原标题&#xff1a;Visual Studio 2017安装和使用教程&#xff08;详细&#xff09; 前言 说在前面&#xff0c;各位读者记得将 C语言程序设计 设置星标…

VS2019初步使用

前言 前段时间把电脑重置了下&#xff0c;导致很多软件都被删除了&#xff0c;所以重新安装了&#xff0c;顺便把一些“陈年落后”的软件更新到了最新版。新版的软件和之前相比的确区别很大&#xff0c;更人性化了、功能也增加了不少&#xff0c;体会最深的就是Adobe Photosho…

VS2017下载地址和安装教程(图解)

VS2017下载地址和安装教程&#xff08;图解&#xff09; 继 VS2015 版本后&#xff0c;微软又推出了功能更加强大的VS 2017。 Visual Studio 2017 不仅支持 C#、C、Python、Visual Basic、Node.js、HTML、JavaScript 等各大编程语言&#xff0c;还能开发 iOS、Android 的移动…

VS2019安装和使用教程

提示&#xff1a;安装过程请保持网络流畅。 安装篇 首先需要去官网下载安装工具&#xff1a;点击此处跳转 跳转到官网后&#xff0c;如下图所示&#xff0c;点击社区模块的免费下载&#xff0c;之后应该会自动下载安装工具&#xff0c;如果没有自动下载&#xff0c;可以根据提…

Visual Studio 2019/2017 安装使用教程(快速上手版)

Visual Studio 2017 安装使用教程&#xff08;详细&#xff09;在此鸣谢范华对本文工作的大力支持 一.下载二.安装 2017版本新建项目过程2019版本新建项目过程新建源文件然后你就可以简单编写一段代码测试一下啦三.特殊问题解决 1.运行闪退2.预编译头错误3.scanf错误四.运行及调…