//头文件
#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设置创建部分半透明,上面控件不透明的更多相关文章

  1. nim_duilib(14)之xml配置半透明窗体控件不透明

    before starting note 截至目前,我只能用xml写一些简单的布局和设置控件属性,循序渐进吧. 正在学习nim_duilib的xml的一些属性. xml配置半透明 GTAV中就有很多控 ...

  2. IOS 设置视图半透明子控件不透明

    代码处理: UIColor *color = [[UIColor blackColor] colorWithAlphaComponent:0.6]; self.view.backgroundColor ...

  3. Qt 创建一个QtDesinger第三方控件

    1.需要创建一个合适的.pro文件 2.创建一个继承QDesignerCustomWidgetInterface的类,描述控件的一些属性. 函数 描述和返回值 name() 指定控件的名称 group ...

  4. iOS 设置视图半透明而子控件不透明

    用一张半透明的图片做背景 使用colorWithWhite:alpha:方法  white后面的参数表示灰度,从0-1之间表示从黑到白的变化,alpha就是你想调整的透明度 bgView.backgr ...

  5. 在Qt中使用AnyCAD三维建模控件

    AnyCAD C++ SDK专为Qt框架增加了AnyPlatformQt.lib模块,在Qt中使用AnyCAD三维建模控件变得十分简单. 下载 Qt高速下载:http://pan.baidu.com/ ...

  6. winform 自定义控件:半透明Loading控件

    winform  自定义控件:半透明Loading控件 by wgscd date:2015-05-05 效果: using System;using System.Drawing;using Sys ...

  7. Qt编写自定义控件31-面板仪表盘控件

    一.前言 在Qt自定义控件中,仪表盘控件是数量最多的,写仪表盘都写到快要吐血,可能是因为各种工业控制领域用的比较多吧,而且仪表盘又是比较生动直观的,这次看到百度的echart中有这个控件,所以也来模仿 ...

  8. setOpaque(true);设置控件不透明

    setOpaque(true);设置控件不透明setOpaque(false);设置控件透明

  9. 【VS开发】使用MFC创建并调用ActiveX控件

    使用MFC创建并调用ActiveX控件 今天做了一下ActiveX的使用测试,总结一下: 首先使用MFC创建一个activeX的控件譬如ActiveXTest,编译成ocx并注册,然后另外编写一个测试 ...

随机推荐

  1. Oracle通用维、父子维相互转换

    所谓通用维即维度层级1.2.3均作为字段展示为列,父子维即维度id+父级维度+维度层级字段 通用维 lvl_id1 lvl_name1 lvl_id2 lvl_name2 lvl_id3 lvl_na ...

  2. ArrayList与LinkList

    1.ArrayList 1)继承结构 2)ArrayList是数组存储结果,初始容量为0,添加第一个元素后容器为10,后面每次超过容量时,容量递增50%,每次扩容都需要产生新的数组,再把老的数据复制过 ...

  3. day27_python_1124

    1.内容回顾 2.今日内容 3.创建-进程Process 4.join方法 5.进程之间数据隔离 1.内容回顾 # 进程 :是计算机中最小的资源分配单位# 进程的三状态 :就绪 运行 阻塞# 并发和并 ...

  4. 第三章 熟悉常用的HDFS操作

    一.Hadoop提供的Shell命令完成相同任务: 1.在本地Linux文件系统的“/home/hadoop/”目录下创建一个文件txt,里面可以随意输入一些单词. mkdir hadoop 在本地查 ...

  5. 【Beta】Scrum Meeting 1

    前言 会议定点:新主楼F座教室 会议时间:2019/4/26 会议目的:确定Beta版本的功能和设计文档 一.任务进度 组员 下阶段任务 大娃 后端模型正确性说明文档 二娃 记录会议内容,撰写博客 三 ...

  6. CentOS-7-1804下MySQL安装及防火墙设置

    第一步,下载MySQL Linux 版本安装包,这里使用 这个版本. 第二步,上传安装包到Linux系统中. 第三步,解压安装包 tar -zxvf mysql--linux-glibc2.-x86_ ...

  7. Python中的 *args 和 **kwargs

    基本概念 Python支持可变参数,最简单的方法莫过于使用默认参数. def test_defargs(one, two=2): # 参数one没有默认值,two的默认值为2 print('Requi ...

  8. ubuntu 谷歌浏览器打开时需要输入密码来解锁密码环

    问题: ubuntu14.04, 设置系统自动登陆账户,但每次开机打开 google chromium 浏览器,会要求输入一次密码,来解锁登录密钥环.很麻烦. 解锁登录密钥环:输入密码以解锁您的登录密 ...

  9. 小飞侠带你精通Python网络编程系列03-Python版本的选择

    1. 目前Python有两个主要版本Python2.X和Python3.X 2. Python2.X最后一个版本是2.7,目前(2018年10月21日)Python3.X最新版本为3.7 3. 很不幸 ...

  10. node作为中间层 —> 跨域请求java后台接口(使用http-proxy-middleware中间件)

    情景:利用node的express 作为中间层,跨域调取java后台接口,由于java接口对session有判断,因此每次请求都必须在req的headers中需要带上cookie,否则接口报500错误 ...