大佬教程收集整理的这篇文章主要介绍了CQGUI框架之阴影圆角窗口实现,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
大家好,我是IT文艺男,来自一线大厂的一线程序员
今天给大家讲解基于C++/Qt的CQGUI框架的阴影圆角窗口实现,实现效果如下图所示::
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;
今天就讲解到这里,按步骤进行梳理,过程很清晰; 更详细的代码分析与讲解,请关注微信公众号(itwenyinan),观看对应的的视频版讲解;谢谢
以上是大佬教程为你收集整理的CQGUI框架之阴影圆角窗口实现全部内容,希望文章能够帮你解决CQGUI框架之阴影圆角窗口实现所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。