Chinaunix首页 | 论坛 | 博客
  • 博客访问: 362087
  • 博文数量: 50
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 641
  • 用 户 组: 普通用户
  • 注册时间: 2014-05-09 22:35
个人简介

不怕你失败,就怕你爬不起来。

文章分类

全部博文(50)

文章存档

2014年(50)

我的朋友

分类: C/C++

2014-09-04 01:38:19

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):包含头文件:


源代码(从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. }

看效果:
                

参考:
                  qtwinextras索引
           qtwinextras概述
                                    QtWin API       

阅读(4752) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~