上一篇博客《如何在pyqt中优雅地实现窗口磨砂效果》 中实现了win7中的Aero效果,但是我还是觉得和win10的亚克力效果相比,Aero还是差了点内味。所以今天早上又在网上搜了一圈,无意中发现了这篇博客《使用 SetWindowCompositionAttribute 来控制程序的窗口边框和背景》,点进去认真看了一遍之后深受启发,于是又去改了一下上次实现Aero效果时所用的函数,重新编译为dll给python调用。 运行效果如下(老婆依旧如此美丽٩(๑>◡<๑)۶ 百度网盘(提取码:2la9):链接
亚克力效果的实现思路
具体实现流程
import sys from ctypes import cdll from ctypes.wintypes import HWND, DWORD from PyQt5.QtCore import Qt from PyQt5.QtWidgets import QApplication, QWidget class Demo(QWidget): """ 亚克力效果的实现 """ def __init__(self): super().__init__() self.resize(500, 500) # 去除边框,没有这一步的话窗口阴影也会加上亚克力效果 self.setWindowFlags(Qt.FramelessWindowHint) # 背景透明 self.setAttribute(Qt.WA_TranslucentBackground) # 调用api hWnd = HWND(int(self.winId())) # 直接HWND(self.winId())会报错 gradientColor = DWORD(0x50F2F2F2) # 设置和亚克力效果相叠加的背景颜色 cdll.LoadLibrary('acrylic_dll\acrylic.dll').setBlur(hWnd, gradientColor) if __name__ == "__main__": app = QApplication(sys.argv) demo = Demo() demo.show() sys.exit(app.exec_())
C++、python源代码以及dll
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算