`
mypyg
  • 浏览: 549637 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

QT下的几种透明效果

    博客分类:
  • Qt
阅读更多
1.窗口整体透明,但是窗体上的控件不透明。
   通过设置窗体的背景色来实现,将背景色设置为全透。
QPalette pal = palette();
pal.setColor(QPalette::Background, QColor(0x00,0xff,0x00,0x00));
setPalette(pal);
   试验效果:
   窗体标题栏不透明;
   窗体客户区上的控件不透明,QLabel控件只是字显示,控件背景色透明;
   窗体客户区完全透明。

   另外从网上看到的方法:
setAttribute(Qt::WA_TranslucentBackground, true);
   试验的结果是类似于上面的方法,但有时候窗体会被一些杂色斑点填充,未找到原因。

2.窗口及其上面的控件都半透明:
setWindowOpacity(0.7)
试验效果:窗口及控件都半透明。

3.窗口整体不透明,局部透明:
在Paint事件中使用Clear模式绘图。
void TestWindow::paintEvent( QPaintEvent* )
{
                QPainter p(this);
                p.setCompositionMode( QPainter::CompositionMode_Clear );
                p.fillRect( 10, 10, 300, 300, Qt::SolidPattern );
}
试验效果:绘制区域全透明。如果绘制区域有控件不会影响控件。


以上实验均是基于Directfb的Qte测试。在Linux下及Windows下效果会略有不同。
比如在Windows下第3个实验,绘制区域就是一个黑窟窿,如果Window本身半透,则是Window下面的内容加上半透效果,不是全透明效果。
分享到:
评论

相关推荐

    Qt 窗口叠加透明,上面窗口可写文本和图片,下面窗口可展示图片或播放视频

    在Qt编程环境中,窗口叠加和透明效果是一种常见的需求,尤其在设计用户界面时,比如创建一个浮动的控制面板或者信息提示层。这个场景中提到的问题是实现了一个窗口叠加在另一个窗口上,上面的窗口用于显示文本和图片...

    QT雷达扫描效果,2D绘画

    QT雷达扫描效果是一种在2D环境中模拟雷达动态扫描的技术,常用于游戏、监控系统或导航应用等场景。本文将深入探讨如何使用QT框架实现雷达扫描效果,并关注其中的关键技术,如QConicalGradient用于绘制余晖以及窗口的...

    qt3d.zip_qt 3d_qt example 3d_qt3d_qt3d案例效果_qt效果

    在描述中提到的“多个示例”可能包括以下几种类型: 1. **基础3D对象**:这些示例可能展示了如何创建和管理3D几何体,如立方体、球体、锥体等,以及如何为它们添加颜色和纹理。 2. **光照和阴影**:在3D场景中,...

    shuzijianpan.rar_QT 数字键盘_qt 透明_qt数字键盘_qt键盘_信号槽

    在本文中,我们将深入探讨如何使用QT框架创建一个数字键盘,并着重关注其中涉及的几个关键概念:QT数字键盘、透明效果、ButtonGroup以及信号和槽机制。这些知识点是QT编程中的核心元素,对于构建用户界面(UI)尤其...

    QT/C++右下角冒泡提示窗口

    QT/C++ 右下角冒泡提示窗口是一种常见的用户界面元素,它用于向用户显示临时的通知或信息,而不会干扰用户的主工作流程。这种提示窗口通常会在屏幕的右下角短暂出现,像气泡一样升起,然后自动消失,提供了一种非...

    qt5 遮罩背景 灰色遮罩层实现

    Qt提供了一种灵活的窗口管理系统,允许开发者创建各种复杂的用户界面。窗口在Qt中被称为`QWidget`,而对话框则通常是`QDialog`或`QMessageBox`的子类。在主窗体(MainWindow)上添加遮罩层,可以增强用户对对话框的...

    基于QT4的图像渐变代码

    【基于QT4的图像渐变代码】是一种在图像处理领域中的技术实现,它涉及到了Qt框架的使用,尤其是Qt4版本。Qt是一个跨平台的应用程序开发框架,广泛应用于图形用户界面和其他各种软件开发。在这个项目中,我们关注的是...

    Qt 透明窗口实现.各个Item 管理自己的透明度

    在本文中,我们将深入探讨如何在Qt框架下实现透明窗口,并让各个窗口元素(Item)管理自己的透明度。Qt是一个跨平台的C++图形用户界面应用程序开发框架,它提供了丰富的功能,包括创建复杂的用户界面和高级图形效果...

    基于QT实现的悬浮窗体

    QT框架是一种广泛应用于桌面应用开发、嵌入式系统和移动平台的开源C++图形用户界面工具包。基于QT实现的悬浮窗体,主要是利用QT的灵活性和强大的图形处理能力,来创建可以在屏幕任意位置自由移动,并始终显示在其他...

    基于QT编程的音乐柱状跳动图

    在QT编程中,我们通常会用到以下几个关键组件: 1. **QApplication**:这是所有QT程序的入口点,负责管理事件循环和窗口系统。 2. **QWidget**:这是QT GUI的基础类,所有的可视元素(如按钮、文本框)都继承自...

    QT模仿QQ9.0登录动画

    QT模仿QQ9.0登录动画是使用Qt框架实现的一种视觉效果,它主要涉及到GUI界面设计、动画效果制作以及用户交互的实现。QQ9.0的登录动画以其独特的动态线条和窗口移动效果,为用户带来了流畅且富有科技感的体验。在Qt中...

    透明窗体中的滚动字幕

    在Qt中,透明效果主要通过`Qt::WA_TranslucentBackground`窗口属性来实现。在创建窗口类的实例时,可以通过设置这个属性来使窗口背景变得半透明或完全透明。例如: ```cpp QMainWindow window; window.setAttribute...

    基于Qt5圆形环状菜单

    在本文中,我们将深入探讨如何使用Qt5框架创建一个具有动画效果的圆环状菜单。Qt是一个跨平台的C++图形用户界面应用程序开发框架,它提供了丰富的API和工具,使得开发者能够轻松构建桌面和移动应用。针对“基于Qt5...

    Qt StackWidget切换动画!

    StackWidget是Qt提供的一种方便的容器控件,用于管理多个子窗口或Widget,并在它们之间进行平滑的过渡。让我们一起探索如何为StackWidget添加动画效果,使其在切换时更具吸引力。 首先,我们需要理解Qt的动画框架。...

    Qt 360主界面动态按钮

    例如,可以使用它来改变按钮的透明度、大小或旋转角度,以实现按下的凹陷效果、悬停时的放大效果等。 3. **QGraphicsProxyWidget**: 如果你需要将标准的Qt widgets(如QPushButton)集成到QGraphicsScene中,可以...

    QT好看的背景图片,PYQT界面设计

    QT(Qt)是一种跨平台的C++图形用户界面应用程序开发框架,由Trolltech公司(现为The Qt Company)开发,被广泛应用于桌面、移动和嵌入式设备的GUI设计。PYQT是Python语言对QT库的绑定,它使得Python程序员能够方便...

    Qt官方 ParticlesTutorial教程,及示例代码

    在Qt中,`QGraphicsEffect`类是粒子效果的基础,它提供了一种在`QGraphicsItem`上应用视觉效果的方法。`QGraphicsEffectSource`则是一个抽象基类,用于定义效果的源对象。对于粒子系统,`QParticleEffect`是核心类,...

    qt for Android 打地鼠小游戏

    Qt是Nokia公司推出的一种C++图形用户界面应用程序开发框架,它支持多种操作系统,包括Windows、Linux、macOS以及Android等。Qt for Android使得开发者能够使用C++和QML语言在Android设备上构建原生应用,提供了丰富...

    Qt,qssdemo

    在Qt程序中应用QSS主要有以下几种方式: - **设置全局样式**:通过调用`QApplication::setStyleSheet()`函数,可以为整个应用程序设置默认的样式表,所有继承自`QWidget`的控件都会受到样式的影响。 - **局部样式**...

    QT美化(仿QQ音乐界面)

    2. **透明与毛玻璃效果**:"aero效果"通常指的是Windows Aero Glass特效,这种效果在界面上使用半透明或模糊背景,给人一种“毛玻璃”般的视觉感受。在QT中,可以通过QOpenGLWidget或者QQuickWindow结合OpenGL技术...

Global site tag (gtag.js) - Google Analytics