Qt中CQGUI框架之阴影圆角窗口实现

大家好,我是IT文艺男,来自一线大厂的一线程序员

今天给大家讲解基于C++/Qt的CQGUI框架的阴影圆角窗口实现,实现效果如下图所示::

CQGUI开发环境::

  • Microsoft Visual Studio 2019
  • Qt5.15.1

步骤如下:

一、继承关系

class LoginPanel : public QDialog

二、窗口属性

setAttribute(Qt::WA_TranslucentBackground); //设置顶层面板背景透明
setWindowFlags(Qt::FramelessWindowHint); //设置无边框
setContentsMargins(10, 10, 10, 10);

Qt::WA_TranslucentBackground Indicates that the widget should have a translucent background, i.e., any non-opaque regions of the widgets will be translucent because the widget will have an alpha channel. Setting this flag causes WA_NoSystemBackground to be set. On Windows the widget also needs the Qt::FramelessWindowHint window flag to be set. This flag is set or cleared by the widget's author.

三、设置阴影效果

auto *defaultShadow = new QGraphicsDropShadowEffect();
defaultShadow->setBlurRadius(10.0);
defaultShadow->setColor(QColor(0, 0, 0, 160));
defaultShadow->setOffset(0, 0);
_loginMainFrm->setGraphicsEffect(defaultShadow);

四、设置样式

QFrame#loginMainFrm>QFrame#leftFrame{
 background:rgba(255,255,255,0.9);
 border-top-left-radius:6px;
  border-top-right-radius:0px;
  border-bottom-right-radius:0px;
  border-bottom-left-radius:6px;
}

五、事件响应

protected:
  void mousePressEvent(QMouseEvent *e) override ;
  void mouseReleaseEvent(QMouseEvent *e) override ;
  void mouseMoveEvent(QMouseEvent *e) override ;
  void closeEvent(QCloseEvent *e) override ;
  bool event(QEvent* e) override ;
protected:
  bool eventFilter(QObject* o, QEvent* e) override;

到此这篇关于Qt中CQGUI框架之阴影圆角窗口实现的文章就介绍到这了,更多相关CQGUI阴影圆角窗口内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • pyqt5 设置窗口圆角及阴影的操作

    pyqt5 设置窗口圆角及阴影 效果: 代码如下: 创建一个 圆角边框的类,让后直接继承就行 from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5.QtGui import * class RoundShadow(QWidget): """圆角边框类""" def __init__(self, parent=None): super(RoundShadow, sel

  • Qt中CQGUI框架之阴影圆角窗口实现

    大家好,我是IT文艺男,来自一线大厂的一线程序员 今天给大家讲解基于C++/Qt的CQGUI框架的阴影圆角窗口实现,实现效果如下图所示:: CQGUI开发环境:: Microsoft Visual Studio 2019 Qt5.15.1 步骤如下: 一.继承关系 class LoginPanel : public QDialog 二.窗口属性 setAttribute(Qt::WA_TranslucentBackground); //设置顶层面板背景透明 setWindowFlags(Qt::

  • QT中窗口关闭自动销毁的实现示例

    目录 qt关于窗口关闭触发函数/信号 方法一. 方法二. 我们知道c++内存管理的一个规则:new出来的对象,一定要delete. 我们实现一个弹窗的时候,有时候继承widget,有时候继承dialog.不管哪种,窗体调用show方法后,不可能直接delete. 当然,new该窗体的时候,指定了父对象,就可以不用显示调用delete,它会随着父对象的销毁而销毁. 那这时候,关闭弹窗的操作,就仅仅是隐藏了.为了实现真正的delete.我们需要设施窗口的一个属性 DeleteOnClose,具体方法

  • JS中frameset框架弹出层实例代码

    前段时间做项目,有个功能是消息提醒. 我相信很多大牛都做过.下面来分享我遇到的问题和解决方案. 首先我们的项目是用frameset框架,main代码. <frameset name="myFrame" cols="85,*" frameborder="no" border="0" framespacing="0"> <frame src="${base}/left.jsp&quo

  • 深入理解Qt中各种消息框对话框的使用

    最近在学习Qt框架,今天学习了一下消息框的使用, 现整理出来以作记录. 在程序运行时,经常需要提示用户一些信息,比如警告啊,提示啊,建议啊之类的东西.这些东西基本上是通过消息框与用户进行交互的,Qt中主要是用QMessageBox类来加以实现的. 消息框一般分为七种: Question询问消息框:为正常的操作提供一个简单的询问 Information信息消息框:为正常操作提供一个提示 Warning提示消息框:提醒用户发生了一个错误 Critical警告消息框:警告用户发生了一个严重错误 Abo

  • 在Qt中正确的设置窗体的背景图片的几种方法总结

    Qt中正确的设置窗体的背景图片的方法大致有两种,下面将逐个讲解: 一. 利用styleSheet设置窗体的背景图片 使用stylesheet设置窗体的背景图片的时候,可以直接按照下图的操作去进行即可,如下图所示: 但是,需要注意的是: 1.在QWidget中这种方法是不行的,如果你足够细心的话,你会发现使用同样的设置背景图片的方法,背景图片其实并没有发生真实改变,但是它的子窗体背景图片是会发生改变的. 其实我们可以通过在添加一个i额QWidget来解决这个问题,即在QtDesigner中添加一个

  • vs2019中使用MFC构建简单windows窗口程序

    微软基础类库(英语: Classes,简称MFC)是微软公司提供的一个类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量.其中包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类. vs 2019 最新版,在设计上又有了很大的变化,并且其所有的服务,模块都是自定义搭建的,所以在一开始安装的时候,没有勾选mfc模块的话,是无法快速构成mfc应用的. vs2019下MFC模块的安装 首

  • QT中如何读写ini配置文件

    如图1所示,我们需要在QT界面中实现手动读取参数存放的位置,那么我们该如何做呢? 方法:读取ini格式的配置文件,实现路径的写入与读取. 第一步:界面构造函数中,初始化一个Config.ini文件 //初始化一个.ini配置文件 //qApp是QT系统自带的,可以直接使用 QString iniFilePath=qApp->applicationDirPath()+"/Config.ini"; //如果不存在Config.ini,便生成一个Config.ini.如果已经存在了,则

  • Qt中QZXing 的编译与使用

    目录 0.前言 1.编译 2.二维码生成 3.二维码识别 0.前言 zxing 是一个开源的一维/二维条码图像处理库,当前版本为 Java 语言开发: https://github.com/zxing/zxing QZXing 是 ZXing 的 Qt 移植版本,同样还有 cpp 等语言和框架的移植版本.从 QZXing 的文档可以看到,只有 QR Code 二维码支持编码,其他都只支持解码. https://github.com/ftylitak/qzxing 1.编译 下载源码后可以用 CM

  • Qt中QPainter与坐标的使用

    目录 一.坐标系统与坐标变换 示例 二.可缩放图形 一.坐标系统与坐标变换 坐标系统 QPainter坐标变换相关函数 分组 函数原型 功能 坐标变换 void translate(qreal dx,qreal dy) 坐标系统一定的偏移量,坐标原点平移到新的点 void rotate(qreal angle) 坐标系统顺时针旋转-一个角度 void scale(qreal sx,qreal sy) 坐标系统缩放 void shear(qrael sh,qreal sy) 坐标系统做扭转变换 状

  • QT中QChart绘制折线图

    目录 一.简单绘图 二.绘制折线图 实例 一.简单绘图 Qt Charts基于Qt的Graphics View架构,其核心组件是QChartView 和 QChart QChartView是显示图标的视图,基类为QGraphicsView QChart的基类是QGraphicsltem 类的继承关系: 创建项目:.pro文件中添加:QT += charts代码如下:其他文件未修改,修改代码只在mainwindow.cpp文件中进行.mainwindow.cpp #include "mainwin

随机推荐