欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python利用PyQt5設(shè)計(jì)鼠標(biāo)顯示形狀

 更新時(shí)間:2024年07月08日 09:36:14   作者:景天科技苑  
不知道大家有沒有發(fā)現(xiàn),我們?cè)诰W(wǎng)頁(yè)移動(dòng)鼠標(biāo)時(shí),不同的網(wǎng)頁(yè)會(huì)有不同的鼠標(biāo)移動(dòng)特效,通過移動(dòng)鼠標(biāo),會(huì)形成類似蜘蛛網(wǎng)等等的特效,本文將用PyQt5實(shí)現(xiàn)這一特效,需要的可以參考一下

PyQt5鼠標(biāo)相關(guān)操作

不知道大家有沒有發(fā)現(xiàn),我們?cè)诰W(wǎng)頁(yè)移動(dòng)鼠標(biāo)時(shí),不同的網(wǎng)頁(yè)會(huì)有不同的鼠標(biāo)移動(dòng)特效。通過移動(dòng)鼠標(biāo),會(huì)形成類似蜘蛛網(wǎng)等等的特效,本文將用PyQt5實(shí)現(xiàn)這一特效,需要的可以參考一下

做GUI編程很常見的一個(gè)需求,要將按鈕或者其他控件的光標(biāo)移入、移出、按壓時(shí)三種情況的控件樣式都不一樣,有些人把這三種情況叫做控件的三態(tài)

另一種情況需要更改光標(biāo)的樣式,如何更改呢,本文就詳細(xì)闡述下

通常我們的鼠標(biāo)在不同的狀態(tài)下會(huì)顯示不同的形狀,來(lái)提示用戶當(dāng)前的狀態(tài),如忙碌,拖拽,禁止,改變窗體大小等:

1.設(shè)置鼠標(biāo)形狀

相關(guān)鼠標(biāo)圖示如下圖所示

在這里插入圖片描述

在這里插入圖片描述

2.鼠標(biāo)形狀設(shè)置代碼實(shí)戰(zhàn)

設(shè)置鼠標(biāo)形狀方法setCursor(),根據(jù)傳參不同設(shè)置不同形狀
光標(biāo)的設(shè)置只需要使用setCurror()即可,以下示例了如何設(shè)置光標(biāo)的樣式:

# 0. 導(dǎo)入需要的包和模塊
from PyQt5.Qt import *  # 主要包含了我們常用的一些類, 匯總到了一塊
import sys


# 1. 創(chuàng)建一個(gè)應(yīng)用程序?qū)ο?
app = QApplication(sys.argv)


# 2. 控件的操作
# 2.1 創(chuàng)建控件
window = QWidget()


# 2.2 設(shè)置控件
#設(shè)置窗口標(biāo)題,默認(rèn)標(biāo)題是python,只有頂級(jí)控件才可以設(shè)置標(biāo)題欄的標(biāo)題
window.setWindowTitle("鼠標(biāo)相關(guān)操作")
#設(shè)置窗口大小,注意,設(shè)置的空間尺寸大小,不包含上面的標(biāo)題欄
window.resize(500, 500)

#默認(rèn)鼠標(biāo)形狀是個(gè)斜箭頭
window.setCursor(Qt.ArrowCursor)


# 2.3 展示控件
window.show()

# 3. 應(yīng)用程序的執(zhí)行, 進(jìn)入到消息循環(huán)
sys.exit(app.exec_())

默認(rèn)鼠標(biāo)形狀是個(gè)斜箭頭
window.setCursor(Qt.ArrowCursor)
當(dāng)鼠標(biāo)移動(dòng)到控件上市,展示我們?cè)O(shè)置的鼠標(biāo)樣式

在這里插入圖片描述

其他鼠標(biāo)形狀展示

#小手形狀
window.setCursor(Qt.OpenHandCursor)

在這里插入圖片描述

其他類型的鼠標(biāo)形狀設(shè)置類似,有需求的小伙伴可以多試試

3.自定義鼠標(biāo)形狀

簡(jiǎn)單的定義一個(gè)光標(biāo)需要以下三步:

  • 1.創(chuàng)建一個(gè)圖形對(duì)象
  • 2.將圖形對(duì)象傳入鼠標(biāo)對(duì)象
  • 3.使用setCursor()方法設(shè)置對(duì)象

自定義鼠標(biāo)形狀,需要借助QCoursor對(duì)象

通過我們自己的圖片來(lái)設(shè)置鼠標(biāo)形狀

先看下圖片

在這里插入圖片描述

自定義鼠標(biāo)形狀代碼實(shí)戰(zhàn)與解讀

from PyQt5.Qt import *
import sys

app = QApplication(sys.argv)
window = QWidget()
window.resize(500, 500)
window.setWindowTitle("自定義鼠標(biāo)樣式")

# 創(chuàng)建QPixmap對(duì)象,并設(shè)置顯示的圖片
pixmap = QPixmap("xxx.png")

# 設(shè)置對(duì)象寬和高按比例縮小,返回一個(gè)新對(duì)象。原對(duì)象并沒有被縮放
#pixmap.scaled(targetWidth, targetHeight, Qt.KeepAspectRatio)
#targetWidth 和 targetHeight 是目標(biāo)縮小后的寬度和高度。Qt.KeepAspectRatio 參數(shù)表示保持寬高比。
new_pixmap = pixmap.scaled(50, 50,Qt.KeepAspectRatio)

# 創(chuàng)建QCursor對(duì)象(鼠標(biāo)對(duì)象),用作setCursor參數(shù)
# 設(shè)置該對(duì)象的作用點(diǎn)為圖片的左上角(0,0),默認(rèn)是圖片中心點(diǎn)
# 默認(rèn)QCursor(pixmap: QPixmap, hotX: int = -1, hotY: int = -1) 表示作用點(diǎn)在圖片中心點(diǎn)
cursor = QCursor(new_pixmap, 0, 0)

# 設(shè)置window控件的鼠標(biāo)樣式為自定義的QCursor對(duì)象:cursor
window.setCursor(cursor)


button = QPushButton(window)
button.setText("按鈕")
button.move(100,100)


window.show()
sys.exit(app.exec_())

運(yùn)行,可見鼠標(biāo)樣式變成了我們?cè)O(shè)置的樣子

并且左上角點(diǎn)擊起作用

在這里插入圖片描述

以上就是python利用PyQt5設(shè)計(jì)鼠標(biāo)顯示形狀的詳細(xì)內(nèi)容,更多關(guān)于python PyQt5鼠標(biāo)顯示形狀的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Pycharm無(wú)法正常安裝第三方庫(kù)的幾條應(yīng)對(duì)方法匯總

    Pycharm無(wú)法正常安裝第三方庫(kù)的幾條應(yīng)對(duì)方法匯總

    在使用pycharm學(xué)習(xí)python的時(shí)候,經(jīng)常需要第三方庫(kù),沒有第三方庫(kù)程序就會(huì)報(bào)錯(cuò),下面這篇文章主要給大家介紹了關(guān)于Pycharm無(wú)法正常安裝第三方庫(kù)的幾條應(yīng)對(duì)方法,需要的朋友可以參考下
    2023-04-04
  • django自帶調(diào)試服務(wù)器的使用詳解

    django自帶調(diào)試服務(wù)器的使用詳解

    今天小編就為大家分享一篇django自帶調(diào)試服務(wù)器的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2019-08-08
  • Python實(shí)現(xiàn)為圖片批量添加隨機(jī)水印

    Python實(shí)現(xiàn)為圖片批量添加隨機(jī)水印

    這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)為圖片批量添加隨機(jī)水印,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-11-11
  • OpenCV連通域數(shù)量統(tǒng)計(jì)學(xué)習(xí)示例

    OpenCV連通域數(shù)量統(tǒng)計(jì)學(xué)習(xí)示例

    這篇文章主要為大家介紹了OpenCV連通域數(shù)量統(tǒng)計(jì)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • python如何使用replace做多字符替換

    python如何使用replace做多字符替換

    這篇文章主要介紹了python如何使用replace做多字符替換,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • python版本的仿windows計(jì)劃任務(wù)工具

    python版本的仿windows計(jì)劃任務(wù)工具

    這篇文章主要介紹了python版本的仿windows計(jì)劃任務(wù)工具,計(jì)劃任務(wù)工具根據(jù)自己設(shè)定的具體時(shí)間,頻率,命令等屬性來(lái)規(guī)定所要執(zhí)行的計(jì)劃,當(dāng)然功能不是很全大家可以補(bǔ)充
    2018-04-04
  • python中不同數(shù)據(jù)對(duì)象的空值校驗(yàn)總結(jié)

    python中不同數(shù)據(jù)對(duì)象的空值校驗(yàn)總結(jié)

    在Python中,我們可以使用不同的方式來(lái)校驗(yàn)數(shù)值的空值、字符串的空值以及對(duì)象的空值,本文為大家整理了一些常見的方法,希望對(duì)大家有所幫助
    2024-01-01
  • 在主機(jī)商的共享服務(wù)器上部署Django站點(diǎn)的方法

    在主機(jī)商的共享服務(wù)器上部署Django站點(diǎn)的方法

    這篇文章主要介紹了在主機(jī)商的共享服務(wù)器上部署Django站點(diǎn)的方法,Django是最具人氣的Python框架,需要的朋友可以參考下
    2015-07-07
  • python 從list中隨機(jī)取值的方法

    python 從list中隨機(jī)取值的方法

    這篇文章主要介紹了python 從list中隨機(jī)取值的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 入門tensorflow教程之TensorBoard可視化模型訓(xùn)練

    入門tensorflow教程之TensorBoard可視化模型訓(xùn)練

    在本篇文章中,主要介紹 了TensorBoard 的基礎(chǔ)知識(shí),并了解如何可視化訓(xùn)練模型中的一些基本信息,希望對(duì)大家的TensorBoard可視化模型訓(xùn)練有所幫助
    2021-08-08

最新評(píng)論