Qt设置创建部分半透明,上面控件不透明
//头文件
#pragma once #include <QWidget>
#include "ui_widgetFullAD.h" class widgetFullAD : public QWidget
{
Q_OBJECT public:
widgetFullAD(QWidget *parent = Q_NULLPTR);
~widgetFullAD(); protected:
virtual bool eventFilter(QObject *watched, QEvent *event);
void paintEvent(QPaintEvent *event);
virtual void mousePressEvent(QMouseEvent *event); private:
Ui::widgetFullAD ui;
};
#include "widgetFullAD.h"
#include <qpainter.h>
widgetFullAD::widgetFullAD(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
setAttribute(Qt::WA_TranslucentBackground, true);
setWindowFlags(Qt::ToolTip | Qt::FramelessWindowHint);
//ui.widget->installEventFilter(this);
//installEventFilter(this);
} widgetFullAD::~widgetFullAD()
{
int xx = ;
} bool widgetFullAD::eventFilter(QObject * watched, QEvent * event)
{ return QWidget::eventFilter(watched, event);
} void widgetFullAD::paintEvent(QPaintEvent * event)
{
QPainter painter(this);
painter.fillRect(this->rect(), QColor(, , , )); //QColor最后一个参数80代表背景的透明度
} void widgetFullAD::mousePressEvent(QMouseEvent * event)
{
QRect rt = ui.widget->geometry();
QPoint pt= this->mapFromGlobal(QCursor::pos());//将显示器坐标转换成窗口坐标
if (ui.widget->geometry().contains(this->mapFromGlobal(QCursor::pos())))
{ }
else
{
hide();
}
}
今天遇到一种情况,设置Qt窗口半透明的时候,会把其他的控件全部边半透明了,还有一种情况是透明部分鼠标点击不了。所以找了一个最简单的处理,既然不影响鼠标点击事件,也就可以把背景变成半透明。
Qt设置创建部分半透明,上面控件不透明的更多相关文章
- nim_duilib(14)之xml配置半透明窗体控件不透明
before starting note 截至目前,我只能用xml写一些简单的布局和设置控件属性,循序渐进吧. 正在学习nim_duilib的xml的一些属性. xml配置半透明 GTAV中就有很多控 ...
- IOS 设置视图半透明子控件不透明
代码处理: UIColor *color = [[UIColor blackColor] colorWithAlphaComponent:0.6]; self.view.backgroundColor ...
- Qt 创建一个QtDesinger第三方控件
1.需要创建一个合适的.pro文件 2.创建一个继承QDesignerCustomWidgetInterface的类,描述控件的一些属性. 函数 描述和返回值 name() 指定控件的名称 group ...
- iOS 设置视图半透明而子控件不透明
用一张半透明的图片做背景 使用colorWithWhite:alpha:方法 white后面的参数表示灰度,从0-1之间表示从黑到白的变化,alpha就是你想调整的透明度 bgView.backgr ...
- 在Qt中使用AnyCAD三维建模控件
AnyCAD C++ SDK专为Qt框架增加了AnyPlatformQt.lib模块,在Qt中使用AnyCAD三维建模控件变得十分简单. 下载 Qt高速下载:http://pan.baidu.com/ ...
- winform 自定义控件:半透明Loading控件
winform 自定义控件:半透明Loading控件 by wgscd date:2015-05-05 效果: using System;using System.Drawing;using Sys ...
- Qt编写自定义控件31-面板仪表盘控件
一.前言 在Qt自定义控件中,仪表盘控件是数量最多的,写仪表盘都写到快要吐血,可能是因为各种工业控制领域用的比较多吧,而且仪表盘又是比较生动直观的,这次看到百度的echart中有这个控件,所以也来模仿 ...
- setOpaque(true);设置控件不透明
setOpaque(true);设置控件不透明setOpaque(false);设置控件透明
- 【VS开发】使用MFC创建并调用ActiveX控件
使用MFC创建并调用ActiveX控件 今天做了一下ActiveX的使用测试,总结一下: 首先使用MFC创建一个activeX的控件譬如ActiveXTest,编译成ocx并注册,然后另外编写一个测试 ...
随机推荐
- PAT 1152 Google Recruitment
1152 Google Recruitment (20 分) In July 2004, Google posted on a giant billboard along Highway 101 ...
- .Net mvc 上传多文件
.net mvc 上传多文件有很多种方式,我的方法只是其中一种, 仅供参考,我主要是注重参数传递的过程,后面文件保存的地方省略.. 调试环境 vs2017 控制器代码: [HttpPost] publ ...
- 使用Notepad++编译运行C/C++/Python程序
对我来说,比较常用的是C/C++/Python. 使用Notepad++编译运行单个源文件的C/C++/Python,比使用复杂的IDE更加快捷. 想要让Notepad++能够做到编译运行C/C++/ ...
- TCP协议,UDP,以及TCP通信服务器的文件传输
TCP通信过程 下图是一次TCP通讯的时序图.TCP连接建立断开.包含大家熟知的三次握手和四次握手. 在这个例子中,首先客户端主动发起连接.发送请求,然后服务器端响应请求,然后客户端主动关闭连接.两条 ...
- spring的配置与使用
spring的配置与使用 一.Spring介绍 1. 什么是Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由 RodJohnson 在其著 ...
- 使用PHP添加圆形头像
首先来看一下PHP怎样生成一个圆形透明的图片 function circle($url){ $w = 430; $h=430; // original size $path = dirname(__F ...
- 让input不可编辑
有时候,我们希望表单中的文本框是只读的,让用户不能修改其中的信息,如使<input type="text" name="input1" value=&qu ...
- react 入坑之罪
componentDidMount :生命周期在react下只调用一次, render:比它先执行 componentWillRecvieProps(newProps) :能取到父组件的值 rende ...
- C# json转model 以及model转json
1.json转model TestModel tm = new TestModel(); JavaScriptSerializer js = new JavaScriptSerializer();tm ...
- python小总结3(异常、单例设计模式)
一.异常 AttributeError:试图访问一个对象没有的成员[属性和方法] ValueError:值错误,传入了一个不期望的值 ImportError:无法导入模块或者包:基本上路径问题 Ind ...