zoukankan      html  css  js  c++  java
  • 让Qt支持Win7的Aero和毛玻璃效果

    Qt5增加了许多特性,其中 Qt Windows Extras 模块就增加了对Win7 Aero 效果的支持。

    官网的介绍如下:

    Qt Windows Extras provide classes and functions that enable you to use miscellaneous Windows-specific functions. For example, you can convert Qt objects to Windows object handles and manipulate DWM glass frames.

    In addition, you can use features introduced with Windows 7, such as Aero Peek, Jump Lists, a progress indicator on a taskbar button, or a thumbnail toolbar.


        现在我们将该模块来实现Win7的Aero窗口。

    步骤(1):在Qt工程中添加模块:winextras
    步骤(2):包含头文件:<QtWin>

    源代码(从Qt5示例中截取来的):

    1. if (QtWin::isCompositionEnabled())                           //返回DWM组合状态
    2. {
    3.    QtWin::extendFrameIntoClientArea(this, -1, -1, -1, -1);    //玻璃效果
    4.    setAttribute(Qt::WA_TranslucentBackground, true);         //半透明背景
    5.    setAttribute(Qt::WA_NoSystemBackground, false);           //禁用无背景
    6.    setStyleSheet("MusicPlayer { background: transparent; }");
    7. }
    8. else
    9. {
    10.    QtWin::resetExtendedFrame(this);
    11.    setAttribute(Qt::WA_TranslucentBackground, false);
    12.    setStyleSheet(QString("MusicPlayer { background: %1; }").arg(QtWin::realColorizationColor().name()));
    13. }


    看效果:
                    

    参考:
    http://qt-project.org/doc/qt-5/qtwinextras-index.html                  qtwinextras索引
    http://qt-project.org/doc/qt-5/qtwinextras-overview.html           qtwinextras概述
    http://qt-project.org/doc/qt-5/qtwin.html                                    QtWin API     

    http://blog.csdn.net/jan5_reyn/article/details/39042197

  • 相关阅读:
    【接口平台】上报接口处理时间
    【性能测试】吞吐量上不去的问题
    vue层级选择器多选
    打家劫舍 II
    打家劫舍
    房屋染色 II
    距离顺序排列矩阵单元格
    根据身高重建队列
    将 x 减到 0 的最小操作数
    确定两个字符串是否接近
  • 原文地址:https://www.cnblogs.com/findumars/p/5574237.html
Copyright © 2011-2022 走看看