首页 > 其他分享 >QT部件透明阴影效果和透明窗体

QT部件透明阴影效果和透明窗体

时间:2023-10-12 15:13:31浏览次数:29  
标签:透明 shadowEffect QT 阴影 窗体 设置 构造函数

 

 

透明效果

1.设置整个窗体透明

调用setWindowOpacity( )方法,传入一个0~1之间的值来表示透明度;1表示不透明,0表示完全透明,在构造函数中添加

setWindowOpacity(0.5);//0~1之间

2.设置窗体透明,部件不透明

在构造函数中添加

//设置窗体透明
this->setAttribute(Qt::WA_TranslucentBackground, true);
//设置无边框
this->setWindowFlags(Qt::Window | Qt::FramelessWindowHint);

3.组件设置透明

在构造函数中添加

QGraphicsOpacityEffect *opacityEffect=new QGraphicsOpacityEffect;
opacityEffect->setOpacity(0.5);
ui->pushButton->setGraphicsEffect(opacityEffect);

4.paintEvent( )方法设置透明

//重写paintEvent方法,是实现窗体半透明
void MainWindow::paintEvent(QPaintEvent *event)
{
    QPainter painter(this);
    painter.fillRect(rect(),QColor(255,255,255,50));
}

 

阴影效果

1.通过QGraphicsDropShadowEffect类来设置

在构造函数中添加

QGraphicsDropShadowEffect *shadowEffect= new QGraphicsDropShadowEffect;
shadowEffect->setColor(QColor(100,100,100));//设置阴影颜色
shadowEffect->setBlurRadius(20);//设置阴影模糊半径
shadowEffect->setOffset(20);//设置阴影偏移值
ui->pushButton->setGraphicsEffect(shadowEffect);

 

 

 

 

 

转 : https://blog.csdn.net/OO_SEN/article/details/114322154

https://blog.csdn.net/qq_54169998/article/details/128533843

 

标签:透明,shadowEffect,QT,阴影,窗体,设置,构造函数
From: https://www.cnblogs.com/fps2tao/p/17759499.html

相关文章

  • QT--QString的arg方法
    在QT的QString中,arg方法类似于C中的printf中使用的格式输出符(只是有点类似)。在QT5的帮助文档中,可以看出以下几点:使用arg(str1,str2,str3)这种方法进行替换。使用arg(str1).arg(str2).arg(str3)这种方法进行替换。​使用arg(int, int, int)这种方式进行替换。解释......
  • 关于vscode编写qt,qdebug无法输出到终端的问题
    这个问题主要是cmake那边的qt设置没弄好。其中WIN32_EXECUTABLEON。这个选项要设置为OFF。不然qdebug无法打印到终端中。如果本来就没有这set_target_properties的话,可以在cmake最后一行加上这个,并且将WIN32_EXECUTABLEON设置为OFF即可。set_target_properties(appl......
  • Qt信号槽与事件循环学习笔记
    事件与事件循环信号槽机制事件与事件循环在Qt中,事件(event)被封装为QEvent类/子类对象,用来表示应用内部或外部发生的各种事情。事件可以被任何QObject子类的对象接收并处理。根据事件的创建方式和调度方式,Qt中事件可分为三类,分别是:自发事件(Spontaneousevent)由窗口系统(windo......
  • Qto_SiteBaseQuantities
    Qto_SiteBaseQuantities场地基准工程量:场地所有引用的定义中通用的基准工程量。  NameTypeDescriptionGrossPerimeterQ_LENGTHUmfangUmfangderGrundstücksgrenze,gemesseninhorizontalerProjektion.GrossPerimeterPerimeterofthesiteboundary,......
  • Qt_C++读写NFC标签Ntag支持windows国产linux操作系统
    本示例使用的发卡器:ntag2标签存储结构说明#include"mainwindow.h"#include"./ui_mainwindow.h"#include<QDebug>#include"QLibrary"#include"QMessageBox"//本示例可在windows、linux系统内编译、运行//判断windows、linux系统,声明动态库函数---------------......
  • QT串口QSerialPort类循环接收可能导致的数据接收不到问题。
    QT串口QSerialPort类循环接收可能导致的数据接收不到问题。建议在使用readAll前调用bytesAvailable来判断缓存区数据是否存在。下面这个程序为错误示范,可能会导致串口数据一直无法读取。QByteArrayresponseData;if(m_serialport->isOpen()){m_serialport->waitForRead......
  • 轻量通讯协议 --- MQTT
    介绍一、MQTT简介MQTT(MessageQueuingTelemetryTransport)是一种轻量级的消息传输协议,通常用于在物联网(IoT)和传感器网络中进行通信。它设计用于在低带宽、不稳定或高延迟的网络环境下传输数据,因此非常适用于连接设备之间的通信,尤其是在资源有限的环境中。MQTT的主要特点包括......
  • 【PyQt6】Python窗口拖拽文件并响应的实现
    情景大概应用情景为:将一个文件拖入到窗口内,地址栏显示文件路径,文本框显示文件内容。说明实现拖拽必须在exec前设置QMineDate,否则不会开始拖拽操作。实现fromPyQt6.QtCoreimport*calssMainWindow(QMainWindow,Ui_MainWindow): def__init__(self): super().__init__......
  • Qt学习随笔-3、QMainWindow
       1 QMainWindow   1.1 菜单栏最多只能有一个      1.1.1 创建菜单栏,通过QMainWindow类的menubar()函数获取主窗口菜单栏指针            QMenuBar*bar=MenuBar();      1.1.2 setMenuBar(bar);  ......
  • 固定panel1,panel2适应窗体变化
    固定panel1,panel2适应窗体变化如果您想要固定Panel1并且让Panel2适应窗体大小的变化,可以使用以下方式设置SplitContainer的属性: '设置SplitContainer的FixedPanel属性为Panel1,以固定Panel1的大小SplitContainer1.FixedPanel=FixedPanel.Panel1'设置Doc......