//头文件
#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. CentOS 7下安装GUI图形界面

    https://www.linuxidc.com/Linux/2017-03/141465.htm

  2. BUAA_OO第一单元作业总结

    BUAA_OO第一单元作业总结 单元任务 第一单元的任务为实现表达式的求导,其中第一次作业是对简单多项式的求导,第二次作业是对包含简单幂函数和简单正余弦函数的多项式的求导,第三次作业是对包含简单幂函数 ...

  3. 229. Majority Element II求众数II

    网址:https://leetcode.com/problems/majority-element-ii/ 参考:https://blog.csdn.net/u014248127/article/de ...

  4. Ajax如何实现从前端不刷新页面就可以到后端取到数据

    提到axaj很多人总说很难,什么回调函数呀等等就让人心烦,其实懂得ajax在js里面是如何实现向服务器请求数据的原理,那么理解ajax也就不是很难了,现在我们一起来看看. ajax作用:ajax技术的 ...

  5. python 调用js代码

    Python2   安装pyv8 pip install-egit://github.com/brokenseal/PyV8-OS-X#egg=pyv8 from pyv8 import PyV8 c ...

  6. es6(三)

    四 . 字符串扩展:

  7. 小学生四则运算JAVA

    点我,github地址 组员:黄浩格,何坤 一.项目说明 1题目:实现一个自动生成小学四则运算题目的命令行程序. 2说明: 自然数:0, 1, 2, -. • 真分数:1/2, 1/3, 2/3, 1 ...

  8. Python随笔--正则表达式匹配IP

  9. Python随笔--Pickle

    遇到问题:不能文件名为pickle.py

  10. 1、Python2.7编译安装

    下载Python安装包(下载地址:https://www.python.org/downloads/) 选择Python 2.7.3版本 防止交互式模式下出现方向键乱码问题,需安装相关包 yum in ...