首页 > 其他分享 >Qt 设置horizontal line 和vertical line的颜色

Qt 设置horizontal line 和vertical line的颜色

时间:2024-01-23 13:12:32浏览次数:18  
标签:horizontalLine 颜色 Qt vertical QPalette verticalLine 设置 line QFrame

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

1.使用样式表(stylesheet)设置颜色:

 1     QFrame* horizontalLine = new QFrame(this);
 2     horizontalLine->move(20, 20);
 3     horizontalLine->setFixedHeight(1);
 4     horizontalLine->setFrameShape(QFrame::HLine);
 5     horizontalLine->setStyleSheet("background-color: red;"); // 设置水平线颜色为红色
 6 
 7 
 8     QSplitter* verticalLine = new QSplitter(Qt::Vertical, this);
 9     verticalLine->move(10,20);
10     verticalLine->setFixedWidth(1);
11     verticalLine->setLineWidth(1);
12     verticalLine->setStyleSheet("background-color: blue;"); // 设置垂直线颜色为蓝色

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

2.使用QPalette设置颜色:

 1 QFrame* horizontalLine = new QFrame();
 2 horizontalLine->move(20, 20);
 3 horizontalLine->setFixedHeight(1);
 4 horizontalLine->setFrameShape(QFrame::HLine);
 5 QPalette pal = palette();
 6 pal.setColor(QPalette::Background, Qt::red);
 7 horizontalLine->setAutoFillBackground(true);
 8 horizontalLine->setPalette(pal); // 设置水平线颜色为红色
 9 
10 QSplitter* verticalLine = QSplitter(Qt::Vertical);
11 verticalLine->move(10,20);
12 verticalLine->setFixedWidth(1);
13 verticalLine->setLineWidth(1);
14 QPalette pal = palette();
15 pal.setColor(QPalette::Background, Qt::blue);
16 verticalLine->setAutoFillBackground(true);
17 verticalLine->setPalette(pal); // 设置垂直线颜色为蓝色

效果:

使用QPalette设置颜色时,需要设置QFrame和QSplitter的背景色(QPalette::Background)为所需的颜色。

通过设置setAutoFillBackground(true)来启用自动填充背景色。

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

标签:horizontalLine,颜色,Qt,vertical,QPalette,verticalLine,设置,line,QFrame
From: https://www.cnblogs.com/ybqjymy/p/17982227

相关文章

  • QT笔记:多线程和信号槽
    QT笔记:多线程和信号槽多线程创建多线程有两种方法,一般推荐用moveToThread方法参考代码如下:mainwindow.h#ifndefMAINWINDOW_H#defineMAINWINDOW_H#include<QMainWindow>#include<QApplication>QT_BEGIN_NAMESPACEnamespaceUi{classMainWindow;}QT_END_NAMES......
  • QT笔记:搭建环境
    QT笔记:搭建环境QT安装下载​ 安装地址https://www.qt.io/download,QT分为商业版和社区版,商业版收费,社区版不收费但禁止商用。个人使用直接下装社区版就好了,下载需要提交个人邮箱并进行注册。安装QT6QT版本QT目前最新版本为QT6,选择安装最新的稳定版本即可。IDEQT有配套的代......
  • Unity:Couldn't open include file 'Packages/com.unity.render-pipelines.universal/S
    初学Shader,Unity报错↑,总之是找不到ulsl的Core文件,网上找的其他解决方案例如删除文件夹再生成或者改变shader的某些属性,但是根本找不到。最终找到原因是项目类型不同,要把传统3D升级成URP项目。解决办法:安装UniversalRP拓展1.在unity中打开需要升级的场景,SaveAs一份并打开该场......
  • Qt采集本地摄像头推流成rtsp/rtmp(可网页播放/支持嵌入式linux)
    一、功能特点支持各种本地视频文件和网络视频文件。支持各种网络视频流,网络摄像头,协议包括rtsp、rtmp、http。支持将本地摄像头设备推流,可指定分辨率和帧率等。支持将本地桌面推流,可指定屏幕区域和帧率等。自动启动流媒体服务程序,默认mediamtx(原rtsp-simple-server),可选用srs......
  • Linux下移植pjsip使用QT开发
    Linux下移植pjsip,使用QT开发1、移植pjsipenv:fedora14arm-linuc-gcc:gccversion4.5.1(ctng-1.8.1-FA)#./configure\CC=arm-linux-gcc\CROSS_COMPILE=arm-none-linux-gnueabi-\--build=i386-linux\--prefix=/usr/local/pjsip\--host=arm-none-linux-gnueabi\--target=arm......
  • 【Qt之模型视图】5. Qt库提供的视图便捷类
    1.前言Qt提供了一些便捷的视图类,如QListWidget提供项目列表,QTreeWidget显示多级树结构,QTableWidget提供单元格项的表格。每个类都继承了QAbstractItemView类的行为,QAbstractItemView类实现了项目选择和标题管理的通用行为。这三个类使用起来方便,但适合于少量数据的存储与显示(存......
  • Verdi信号平移+研发管理体系+malloc和calloc函数区别+使用__FILE__只打印文件名+使用i
    Verdi信号平移信号左移是将光标移动在双引号以内的信号名左边,然后先输入数字,可以带上单位,如[ns|n]、[ps|p],然后按<<-按键。https://blog.csdn.net/qq_40268672/article/details/132915499信号右移信号右移是数字在右边,信号在左边,用右移符号,其它不变。研发管理体系https://......
  • git push 报错 ! [remote rejected] main -> main (pre-receive hook declined) error
    今天在用gitpush项目的时候,出现了一个报错,记录一下解决方案,以后报同样的错误可以回来看。错误下面是gitpush的详细报错信息:20866@DESKTOP-7R0VL04MINGW64/d/AllProjects/JupyterProjects(main)$gitpushoriginmainEnumeratingobjects:152,done.Countingobjects:......
  • offline RL | ABM:从 offline dataset 的好 transition 提取 prior policy
    ICLR2020,666。材料:论文题目:KeepDoingWhatWorked:BehaviorModellingPriorsforOfflineReinforcementLearning项目网站:https://sites.google.com/view/behavior-modelling-priorspdf版本:https://arxiv.org/pdf/2002.08396.pdfhtml版本:https://ar5iv.labs.arxi......
  • Qt如何调用VS编写的动态链接库(dll文件)
     下面是我在VS编译器上写的一个简单的dll文件,关于dll文件如何编写,我就不再赘述了。.h文件#ifndef_MYDLL_H#define_MYDLL_H#ifdefMYDLL_EXPORTS#defineMYDLL_API__declspec(dllexport)#else#defineMYDLL_API__declspec(dllimport)#endifextern"C"MYDLL_......