【QT】QLinearGradient 線性漸變類簡單使用教程

目錄

0.簡介

1)qtDesigner中

2)實際執行

1.功能詳述

3.舉一反三的樣式


0.簡介

QLinearGradient?是 Qt 框架中的一個類,用于定義線性漸變效果(通過樣式表設置)。它可以用來填充形狀、背景或其他圖形元素,創建從一個顏色到另一個顏色的平滑過渡效果。

先看下實現效果(我用了一個label控件承接,一個從淺灰到深灰的漸變,帶50的圓角)

1)qtDesigner中

2)實際執行

想要彩色?滿足你

1.功能詳述

1)首先我們看下用樣式是如何設置的(以下均已彩色圖的顏色為準)

ui->label->setStyleSheet("background:qlineargradient(x1:1, y1:0, x2:0, y2:1, stop:0.0 red, stop:0.5 green, stop:1 blue);""border-radius:50px;");

重點就是這一句代碼,設置樣式。

通過給label設置一個背景顏色,再加一個border-radius的圓角即可實現,重點是qlineargradient的參數,我們來分析下:

qlineargradient(x1:1, y1:0, x2:0, y2:1, stop:0.0 red, stop:0.5 green, stop:1 blue)

別看參數這么多,分組看就好了,一共有5個組:

a)起始點坐標(x1,y1)

b)結束點坐標(x2,y2)

c)起始點顏色和開始點(stop:0.0 red)

d)中間段顏色和中間點(stop:0.5 green)

e)結束點顏色和結束點(stop:1 blue)

(參考圖)

參數含義

qlineargradient(...)

設置背景為線性漸變
x1:1, y1:0(x1,y1要一起看)

漸變起點的坐標(看上面的參考圖中的紅色坐標,僅看四個點坐標)

也就是顏色從(1,0)開始,也就是右上角

  • x1:1?表示起點的水平位置為 1(相對于元素的寬度,1 表示最右側)

  • y1:0?表示起點的垂直位置為 0(相對于元素的高度,0 表示最頂部)

x2:0, y2:1(x2,y2要一起看)

漸變終點的坐標(看上面的參考圖的紅色坐標)

也就是顏色到(0,1)結束,也就是左下角

  • x2:0?表示終點的水平位置為 0(最左側)

  • y2:1?表示終點的垂直位置為 1(最底部)

stop:0.0 red

在漸變線的起點(位置 0.0)設置顏色為紅色,參考上圖的橙色數字位置

stop:0.5 green

在漸變線的中間點(位置 0.5)設置顏色為綠色,參考上圖的橙色數字位置

stop:1 blue

在漸變線的終點(位置 1.0)設置顏色為藍色,參考上圖的橙色數字位置

也就是先看起點終點,再看顏色。

如上述代碼樣式可簡述為:從右上到左下,分別是紅、綠、藍三個顏色。

3.舉一反三的樣式

1)如果要調換開始和結束的顏色(紅藍調換),有兩種方式:

? ? ? ? i)調換起始點:

? ? ? ? (x1,y1),原(1,0)變為(0,1)+ (x2,y2),原(0,1)變為(1,0)

? ? ? ? ii)調換起點(red)和終點(blue)的顏色

2)我想讓紅色少一點

第二段stop的值少一點,意思是綠色的中心點是0.2

//    ui->label->setStyleSheet("background:qlineargradient(x1:1, y1:0, x2:0, y2:1, stop:0.0 red, stop:0.5 green, stop:1 blue);"ui->label->setStyleSheet("background:qlineargradient(x1:1, y1:0, x2:0, y2:1, stop:0.0 red, stop:0.2 green, stop:1 blue);""border-radius:50px;");

3)如果我只想要兩個顏色,不想要中間的綠色了

去掉第二段stop參數(, stop:0.5 green)即可

//    ui->label->setStyleSheet("background:qlineargradient(x1:1, y1:0, x2:0, y2:1, stop:0.0 red, stop:0.5 green, stop:1 blue);"ui->label->setStyleSheet("background:qlineargradient(x1:1, y1:0, x2:0, y2:1, stop:0.0 red,stop:1 blue);""border-radius:50px;");

大家可自行發揮想象力,可以創造出很多樣式

--END--

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/70817.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/70817.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/70817.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

前端項目配置 Nginx 全攻略

在前端開發中,項目開發完成后,如何高效、穩定地將其部署到生產環境是至關重要的一步。Nginx 作為一款輕量級、高性能的 Web 服務器和反向代理服務器,憑借其出色的性能和豐富的功能,成為了前端項目部署的首選方案。本文將詳細介紹在…

網絡安全學習-常見web漏洞的滲xxx透以及防護方法

滲XX透測試 弱口令漏洞 漏洞描述 目標網站管理入口(或數據庫等組件的外部連接)使用了容易被猜測的簡單字符口令、或者是默認系統賬號口令。 滲XX透測試 如果不存在驗證碼,則直接使用相對應的弱口令字典使用burpsuite 進行爆破如果存在驗證…

網絡安全 機器學習算法 計算機網絡安全機制

(一)網絡操作系統 安全 網絡操作系統安全是整個網絡系統安全的基礎。操作系統安全機制主要包括訪問控制和隔離控制。 訪問控制系統一般包括主體、客體和安全訪問政策 訪問控制類型: 自主訪問控制強制訪問控制 訪問控制措施: 入…

2025網絡安全等級測評報告,信息安全風險評估報告(Word模板)

一、概述 1.1工作方法 1.2評估依據 1.3評估范圍 1.4評估方法 1.5基本信息 二、資產分析 2.1 信息資產識別概述 2.2 信息資產識別 三、評估說明 3.1無線網絡安全檢查項目評估 3.2無線網絡與系統安全評估 3.3 ip管理與補丁管理 3.4防火墻 四、威脅細類分析 4.1威脅…

Ubuntu22.04系統安裝Anaconda、CUDA和CUDNN

之前一直在Windows系統下使用Anaconda和CUDA加速,最近需要復現一個算法,文檔里面有Linux系統conda構建環境的教程。 本篇博文參考博文,記錄自己安裝的過程,便于以后需要。 目錄 1.Anaconda1.1 安裝包下載1.2 安裝軟件1.3 更新cond…

微信小程序調用火山方舟(字節跳動火山引擎)中的DeepSeek大模型

一、注冊火山引擎賬號,創建API Key和model(接入點ID) 1.注冊并登陸火山引擎賬號,網址為:https://console.volcengine.com/ 2.根據登陸后的頁面提示進行實名認證,實名認證后才能創建API Keyt和創建接入點。…

藍橋杯之日期題

文章目錄 1.藍橋杯必備知識點2. 題型13.需求2 1.藍橋杯必備知識點 藍橋杯是一個面向全國高校計算機相關專業學生的學科競賽,涵蓋多個賽道,常見的有軟件類(如 C/C 程序設計、Java 軟件開發、Python 程序設計)和電子類(…

muduo網絡庫2

Muduo網絡庫:底層實質上為Linux的epoll pthread線程池,且依賴boost庫。 muduo的網絡設計核心為一個線程一個事件循環,有一個main Reactor負載accept連接,然后把連接分發到某個sub Reactor(采用輪詢的方式來選擇sub Reactor)&…

WinSCP 連接到 Ubuntu 虛擬機

要使用 WinSCP 連接到 Ubuntu 虛擬機,一般采用 SFTP 或 SCP 協議進行文件傳輸。以下是詳細步驟: 1. 確保虛擬機網絡可訪問 首先,你的 Ubuntu 虛擬機需要允許外部訪問: 如果使用 NAT 網絡:需要設置端口轉發&#xff0…

redis小記

redis小記 下載redis sudo apt-get install redis-server redis基本命令 ubuntu16下的redis沒有protected-mode屬性,就算sudo啟動,也不能往/var/spool/cron/crontabs寫計劃任務,感覺很安全 #連接到redis redis-cli -h 127.0.0.1 -p 6379 …

Docker核心概念

容器介紹 Docker 是世界領先的軟件容器平臺,所以想要搞懂 Docker 的概念我們必須先從容器開始說起。 什么是容器? 先來看看容器較為官方的解釋 一句話概括容器:容器就是將軟件打包成標準化單元,以用于開發、交付和部署。 容器鏡像是輕量…

阿里云可觀測全面擁抱 OpenTelemetry 社區

作者:古琦 在云計算、微服務、容器化等技術重塑 IT 架構的今天,系統復雜度呈指數級增長。在此背景下,開源可觀測性技術已從輔助工具演變為現代 IT 系統的"數字神經系統",為企業提供故障預警、性能優化和成本治理的全方…

2025年2月科技熱點深度解析:AI競賽、量子突破與開源革命

引言 2025年的科技領域持續呈現爆發式增長,AI大模型競爭白熱化、量子計算商業化加速、開源工具生態繁榮成為本月最受關注的議題。本文結合最新行業動態,從技術突破、商業布局到開發者生態,全面解析當前科技熱點,為讀者提供深度洞…

idea創建第一個springboot程序

說明: 我計劃用idea,創建第一個springboot程序,但是作為新手完全不會弄,今天我就親自嘗試一邊,并且出一期詳細,完美的教程,親測可以運行 step1. 點擊file , 選new, 選…

半導體芯片制造中 W CVD(鎢化學氣相沉積)

半導體芯片制造中 W CVD(鎢化學氣相沉積) 的 Nucleation 解析 在鎢(W)化學氣相沉積(CVD)工藝中,Nucleation(成核) 是沉積過程的初始階段,指鎢原子或分子在基…

Three.js 入門(輔助、位移、父子關系、縮放旋轉、響應式布局)

本篇主要學習內容 : 三維坐標系與輔助坐標系物體位移與父子元素物體的縮放與物體的旋轉設置響應式畫布與全屏控制 點贊 關注 收藏 學會了 本文使用 Three.js 的版本:171 基于 Vue3vite開發調試 1.三維坐標系與輔助坐標系 1.1) 導入three和軌道控制器 // 導入…

一鍵導出數據庫表到Excel

工作中,我們經常需要將數據庫表導出到Excel,通常我們會用數據庫編輯器之類的工具提供的導出功能來導出,但是它們的導出功能通常都比較簡單。 這篇文章將介紹一種簡單易用并且功能強大的導出方法。 新增導出 打開的盧導表工具,新…

CSS滾動條原理與自定義樣式指南,CSS滾動條樣式失效,滾動條樣式無效,-webkit-scrollbar無效,overflow不顯示滾動條

滾動內容形成的必要條件 CSS Overflow屬性解析 MDN官方文檔-Overflow屬性 菜鳥教程-Overflow屬性 overflow 屬性控制內容溢出元素框時在對應的元素區間內是否添加滾動條。 值描述visible默認值。內容不會被修剪,會呈現在元素框之外。hidden內容會被修剪&#xf…

【LLM】本地部署LLM大語言模型+可視化交互聊天,附常見本地部署硬件要求(以Ollama+OpenWebUI部署DeepSeekR1為例)

【LLM】本地部署LLM大語言模型可視化交互聊天,附常見本地部署硬件要求(以OllamaOpenWebUI部署DeepSeekR1為例) 文章目錄 1、本地部署LLM(以Ollama為例)2、本地LLM交互界面(以OpenWebUI為例)3、本…

溫濕度監控設備融入智慧物聯網

當醫院的溫濕度監控設備融入智慧物聯網,將會帶來許多新的體驗,可以幫助醫院溫濕度監控設備智能化管理,實現設備之間的互聯互通,方便醫院對溫濕度數據進行統一管理和分析。 添加智慧物聯網技術,實現對醫院溫濕度的實時…