jsp網(wǎng)站首頁(yè)那欄怎么做南平seo
?? 歡迎大家來(lái)到景天科技苑??
🎈🎈 養(yǎng)成好習(xí)慣,先贊后看哦~🎈🎈
🏆 作者簡(jiǎn)介:景天科技苑
🏆《頭銜》:大廠架構(gòu)師,華為云開(kāi)發(fā)者社區(qū)專家博主,阿里云開(kāi)發(fā)者社區(qū)專家博主,CSDN全棧領(lǐng)域優(yōu)質(zhì)創(chuàng)作者,掘金優(yōu)秀博主,51CTO博客專家等。
🏆《博客》:Python全棧,前后端開(kāi)發(fā),小程序開(kāi)發(fā),云原生K8S,人工智能,js逆向,App逆向,網(wǎng)絡(luò)系統(tǒng)安全,數(shù)據(jù)分析,PyQt5,tkinter,Django,fastapi,flask等框架,linux,shell腳本等實(shí)操經(jīng)驗(yàn),網(wǎng)站搭建,數(shù)據(jù)庫(kù)等分享。所屬的專欄:PyQt5桌面應(yīng)用開(kāi)發(fā),零基礎(chǔ)到進(jìn)階應(yīng)用實(shí)戰(zhàn)
景天的主頁(yè):景天科技苑
文章目錄
- PyQt5鼠標(biāo)相關(guān)操作
- 1.設(shè)置鼠標(biāo)形狀
- 2.鼠標(biāo)形狀設(shè)置代碼實(shí)戰(zhàn)
- 3.自定義鼠標(biāo)形狀
PyQt5鼠標(biāo)相關(guān)操作
不知道大家有沒(méi)有發(fā)現(xiàn),我們?cè)诰W(wǎng)頁(yè)移動(dòng)鼠標(biāo)時(shí),不同的網(wǎng)頁(yè)會(huì)有不同的鼠標(biāo)移動(dòng)特效。通過(guò)移動(dòng)鼠標(biāo),會(huì)形成類似蜘蛛網(wǎng)等等的特效,本文將用PyQt5實(shí)現(xiàn)這一特效,需要的可以參考一下
做GUI編程很常見(jiàn)的一個(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ū)ο?/span>
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ì)象
通過(guò)我們自己的圖片來(lái)設(shè)置鼠標(biāo)形狀
先看下圖片
自定義鼠標(biāo)形狀代碼實(shí)戰(zhàn)與解讀
from PyQt5.Qt import *
import sysapp = 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ì)象并沒(méi)有被縮放
#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)行,可見(jiàn)鼠標(biāo)樣式變成了我們?cè)O(shè)置的樣子
并且左上角點(diǎn)擊起作用