QLinearGradient

news/2025/1/15 13:49:31/

QLinearGradient类提供了一个线性渐变颜色填充。线性渐变由两个端点定义,颜色在这两个点之间以连续的方式变化。

你可以使用setColorAt()函数来定义渐变中的颜色停止点。这个函数接受一个介于0和1之间的数字作为位置参数(其中0表示渐变的起始点,1表示结束点),以及一个QColor对象作为颜色参数。

你还可以使用setStart()和setFinalStop()函数来设置渐变的起始点和结束点。这两个函数接受两个参数,表示点的x和y坐标。

这是一个在窗口上使用线性渐变填充背景的例子:

#include <QApplication>
#include <QWidget>
#include <QPainter>
#include <QLinearGradient>class MyWidget : public QWidget
{
public:MyWidget(QWidget *parent = 0) : QWidget(parent) {}protected:void paintEvent(QPaintEvent *event) override{QLinearGradient gradient(0, 0, width(), height()); // 创建一个从左上角到右下角的渐变gradient.setColorAt(0, Qt::blue); // 渐变开始为蓝色gradient.setColorAt(1, Qt::red); // 渐变结束为红色QPainter painter(this);painter.setBrush(gradient); // 设置刷子为渐变painter.drawRect(rect()); // 绘制一个矩形填充整个窗口}
};int main(int argc, char *argv[])
{QApplication app(argc, argv);MyWidget widget;widget.show();return app.exec();
}

在这个例子中,我们首先创建了一个从窗口的左上角(0,0)到右下角(width(),height())的线性渐变。然后我们设置了渐变的起始颜色为蓝色,结束颜色为红色。然后我们创建了一个QPainter对象,并将其刷子设置为我们刚才创建的渐变。最后我们绘制了一个矩形,该矩形填充了整个窗口。这样就创建了一个从蓝色渐变到红色的背景。


http://www.ppmy.cn/news/624488.html

相关文章

uni-app 微信小程序 onReachBottom 不生效

问题描述&#xff1a; uni-app 微信小程序&#xff0c;页面滑到底部&#xff0c;onReachBottom 没有生效 解决&#xff1a; 最外层容器设置 min-height: 101vh 代码&#xff1a; pages.json 配置 {"path": "","style": { "navigationBar…

Android java代码实现:textview Arial等字体格式

// Obtain the Typeface object for Arial Typeface arialTypeface Typeface.create("Arial", Typeface.NORMAL); // Set the Typeface on the TextView TextView textView findViewById(R.id.my_text_view); textView.setTypeface(arialTypeface);

hutool工具类实现excel上传 支持03和07

一直感觉excel表的导入有很多代码&#xff0c;写一次忘一次&#xff0c;类太多&#xff0c;要知道怎么获取Workbook、Sheet、Cell、row等等&#xff0c;这么多类不可能一直记的住&#xff0c;都是写过之后保存&#xff0c;使用的时候拿出来改改&#xff0c;更烦人的是针对offic…

SolidWorks工程图导出PDF时出现“Arial Unicode MS”字体不存在时,解决方案

解决方案 1、搜索&#xff1a;“Arial Unicode MS”字体 2、下载第二个&#xff0c;解压打开文件&#xff0c;点击第一个 点击安装即可完成 最后&#xff0c;再打开SolidWorks即可&#xff0c;输出PDF。

字体Helvetica Arial,导致页面中使用中文时页面布局混乱

当使用这样的字体时的页面布局&#xff0c;页面空出来一块&#xff1a; font-family: "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro H…

已解决:Downloading https://ultralytics.com/assets/Arial.ttf to .......ubuntu18.4-YOLOv5报错[01]

yolov5模型用的是github上YOLOv5官方的&#xff1a;GitHub - ultralytics/yolov5: YOLOv5 &#x1f680; in PyTorch > ONNX > CoreML > TFLite 在某些版本下&#xff08;比如6.0&#xff09;&#xff0c;yolov5.0环境下运行detect.py或者输入指令&#xff1a; pyth…

Ubuntu下Python程序font = ImageFont.truetype(‘arial.ttf‘, 24)报错OSError: cannot open resource

可视化目标检测结果时&#xff1a;使用如下命令编辑文字字体时报错&#xff1a;OSError: cannot open resource 问题&#xff1a;Ubuntu 系统下&#xff0c;在图像上显示文字时&#xff0c;如下命令报错&#xff1a; font ImageFont.truetype(arial.ttf, 24)提示错误为&…