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
下面的内容加上半透效果,不是全透明效果。
来源:http://www.linuxidc.com/Linux/2011-07/39019.htm
分享到:
相关推荐
在QT中,窗体(QWidget)是构建用户界面的基本元素,通常带有系统默认的边框和标题栏。然而,在某些设计需求下,我们可能希望创建一个无边框的窗体,以实现更自由的布局或自定义的拖动和大小调整功能。本教程将详细...
在本主题中,我们关注的是"QT 子窗体透明"这一技术特性,它是创建现代、美观且交互性强的应用程序的重要组成部分。透明效果能够使用户界面更具吸引力,提升用户体验。 在QT中实现子窗体透明,主要是通过QGraphics...
"QT多窗体通信"是QT编程中一个重要的概念,涉及到多个窗口之间数据和事件的交互。 在QT中,多窗体通信主要通过信号(Signals)和槽(Slots)机制来实现。信号是对象在特定事件发生时发出的通知,而槽是响应这些通知...
总结来说,这个项目展示了如何在QT中创建自定义控件以实现独特的进度条样式,以及如何利用Qt的特性实现窗体透明。这对于想要提升应用界面独特性的开发者来说是一个很好的学习案例,同时也提醒我们,即使在旧的开发...
### QT遍历窗体的控件的方法 在QT框架中,有时我们需要遍历窗体上的所有控件以执行某些操作,比如更改按钮的文字、获取所有输入框的信息等。本文将详细介绍几种不同的方法来实现这一需求。 #### 方法一:直接遍历...
QT小型窗体实现是利用Qt库来创建一个具备基本功能,如查找的用户界面。Qt是一个跨平台的应用程序开发框架,广泛应用于桌面、移动和嵌入式设备的GUI设计。它由Qt公司(原名Qt Software,现为Digia的一部分)开发并...
本主题主要围绕“Qt设计窗体程序”进行深入探讨。 首先,Qt中的窗体通常指的是`QWidget`类的实例,它是所有GUI组件的基础。当你在Qt Designer中设计窗体时,实际上是在创建一个`.ui`文件,这个文件描述了窗口的布局...
在本文中,我们将深入探讨如何使用Qt框架来实现窗体的动态缩放功能。Qt是一个强大的C++库,用于创建跨平台的图形用户界面(GUI)应用。它提供了丰富的API和工具,使得开发者能够轻松地设计和实现各种复杂的UI功能,...
在Qt C++编程中,创建具有独特外观的窗口可以极大地提升用户体验。本教程将深入讲解如何利用`QDialog`类来构建一个具有异形形状和半透明效果的窗口。我们将探讨`setMask`函数和`QRegion`类的用法,它们是实现这一...
在Qt编程中,动态创建窗体是一项常见的任务,它允许我们根据程序运行时的需求来创建新的用户界面元素。本文将详细讲解如何在Qt环境中实现动态拖拉创建窗体,并探讨窗体的可调整大小、可移动、可叠加以及可关闭等特性...
在这个特定的案例中,我们关注的是一个自定义的QT移动窗体框架,该框架设计为可复用,这表明它可能包含了特定的类和方法,使得在不同的项目中轻松地移动和操作窗口变得简单。 "自己写的QT中移动窗体框架"很可能包括...
在Qt编程中,窗体(Window)的管理是应用程序用户界面设计的重要部分。"Qt实现窗体在显示屏旁边自动隐藏/显示"这个话题涉及到的是如何让一个Qt窗口根据用户的操作或者系统状态,智能地出现在屏幕边缘或者隐藏起来,...
在用Qt做窗口透明处理时是接收不到鼠标事件的,想要在窗口透明的情况下去接收鼠标消息还需要依靠QGraphicsScene与QGraphicsView,当然Linux与windows还是有点区别的,具体看代码
在"透明窗体示例_解决闪烁问题"这个项目中,我们可能遇到了一个常见问题:当窗口的透明度动态改变时,可能会因为重绘操作导致闪烁。这种闪烁通常是由于双缓冲机制没有正确地应用到透明窗口上。为了解决这个问题,...
"基于Qt的异形窗体"是一个独特的设计概念,它允许开发者创建非矩形形状的窗口,以实现更具吸引力和个性化的用户界面。本文将深入探讨Qt中的异形窗体,包括其原理、实现方法以及相关的编程技巧。 首先,了解异形窗体...
以上就是一个简单的Qt登录窗体到主窗体的示例。对于有经验的开发者来说,Qt的API设计直观且强大,易于上手。通过学习这个例子,你可以进一步探索Qt提供的其他组件和功能,如数据库连接、网络编程、多线程等,以构建...
在Qt编程中,窗体间的数据传递是常见的需求,它涉及到不同界面间的通信,使得用户在操作一个界面时,能够影响到其他界面的状态或者显示。本文将深入探讨Qt窗体间传递数据的三种主要模型:信号与槽机制、全局变量和...
本篇将深入探讨在QT中创建用户登录界面、实现窗体居中以及如何处理多窗体应用。 一、QT用户登录界面 在QT中构建用户登录界面,我们需要利用其强大的GUI工具,如QWidget、QLayout、QLineEdit、QPushButton等类。首先...
在“QT实现的可移动放大缩小的大小嵌套窗体”这个项目中,开发者利用QT库构建了一个独特的窗口系统,允许用户对窗体进行自由移动、缩放,并且窗体之间可以嵌套。以下将详细介绍实现这些功能的关键知识点。 1. **...
总结一下,Qt窗体透明可以通过设置`Qt::WA_TranslucentBackground`属性实现,而动态创建窗体则是在运行时根据需要创建新的窗口实例。这两个特性结合使用,可以为用户提供更丰富的交互体验,例如创建浮动的、透明的...