Qt设置horizontal line 和vertical line的颜色

news/2024/11/29 8:50:11/

在Qt中,要设置水平线(QFrame)和垂直线(QSplitter)的颜色,可以使用样式表(stylesheet)或者直接设置QPalette。
下面是两种设置的示例:

  1. 使用样式表(stylesheet)设置颜色:
    QFrame* horizontalLine = new QFrame(this);horizontalLine->move(20, 20);horizontalLine->setFixedHeight(1);horizontalLine->setFrameShape(QFrame::HLine);horizontalLine->setStyleSheet("background-color: red;"); // 设置水平线颜色为红色QSplitter* verticalLine = new QSplitter(Qt::Vertical, this);verticalLine->move(10,20);verticalLine->setFixedWidth(1);verticalLine->setLineWidth(1);verticalLine->setStyleSheet("background-color: blue;"); // 设置垂直线颜色为蓝色

使用样式表的优点在于可以更加灵活地设置样式,比如颜色、背景图像等。

  1. 使用QPalette设置颜色:
QFrame* horizontalLine = new QFrame();
horizontalLine->move(20, 20);
horizontalLine->setFixedHeight(1);
horizontalLine->setFrameShape(QFrame::HLine);
QPalette pal = palette();
pal.setColor(QPalette::Background, Qt::red);
horizontalLine->setAutoFillBackground(true);
horizontalLine->setPalette(pal); // 设置水平线颜色为红色QSplitter* verticalLine = QSplitter(Qt::Vertical);
verticalLine->move(10,20);
verticalLine->setFixedWidth(1);
verticalLine->setLineWidth(1);
QPalette pal = palette();
pal.setColor(QPalette::Background, Qt::blue);
verticalLine->setAutoFillBackground(true);
verticalLine->setPalette(pal); // 设置垂直线颜色为蓝色

效果:
在这里插入图片描述

使用QPalette设置颜色时,需要设置QFrame和QSplitter的背景色(QPalette::Background)为所需的颜色。
通过设置setAutoFillBackground(true)来启用自动填充背景色。

这两种方法都可以用来设置水平线和垂直线的颜色,可以选择适合自己的方法来设置。


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

相关文章

MYSQL 根据唯一索引键更新死锁问题

mysql 死锁问题及死锁权重分析 问题发生过程:1、生产发现死锁一次 语句为sql1:UPDATE table set data ‘123’ where business_no ABC; 该行数据的id1, business_no ABC tablbe 字段 id:主键 business_no为唯一索引字段,其…

【Godot】【BUG】4.x NavigationAgent 导航不生效

4.2.beta2 试了半天才发现原来默认只对第一个有导航的 TileMap 的第 1 层 生效,而我设置的导航层不是第一层,然后我新建了一个 TileMap 将导航的瓦片设置到这个 TileMap 上了,如图 这样就解决了问题,不用再修改默认设置的东西了&a…

神经网络和AI的关系

神经网络(Neural Networks)和人工智能(Artificial Intelligence,AI)之间存在紧密的关系,可以概括为以下几点: 神经网络是AI的子领域:神经网络是人工智能的一个子领域,它是…

异常数据检测 | Python奇异谱分析(SSA)数据缺失值插补

文章目录 文章概述模型描述源码分享参考资料文章概述 长时序栅格数据经常会出现一些缺失值,会对后续的分析造成很大的不便。这便需要利用一些插值算法对这些缺失数据进行填补,奇异谱分析(SSA)便是常用的一种插值方法。 模型描述 在时间序列分析中,「奇异谱分析」(「SS…

我的面试(1年经验)

文章目录 java基础并发设计模式jvmMySQLmybatisplusredisSpring其他常用中间件SpringCloud其他 java基础 说说对面向对象的理解说说对java三大特性的理解说一说java中集合有哪些cglib与jdk动态代理的区别,原理是什么 并发 synchronized使用范围synchronized关键字…

Shader Graph25-UV移动旋转缩放(自定义函数)

我们将UV操作放入函数内,该函数的内容来自我之前的文章 Shader Graph24-摇晃树叶-CSDN博客 一、UE在Material中右键,新建Material Function。 增加输入 二、新建Material,命名为DemoUVRotationUseFunction Offset为偏移值,Rotat…

matlab bin格式转txt输出

matlab bin格式转txt输出 clc,clear; fid fopen(\text.bin,rb); data fread(fid,Inf,int16); fclose(fid);fidfopen(\text.txt,w); fprintf(fid,%d\n,data); fclose(fid);

Mathematics-Vocabulary·数学专业英语词汇

点击查看: Mathematics-Vocabulary数学专业英语词汇点击查看: Mathematics-Vocabulary-Offline数学专业英语词汇离线版本 Chinese-English translation英译汉The study of mathematics in English requires understanding the subject-specific vocabulary and terminology. Ma…