原文:如何在pyqt中实现窗口磨砂效果

磨砂效果的实现思路 这两周一直在思考怎么在pyqt上实现窗口磨砂效果,网上搜了一圈,全都是 C 的实现方法。正好今天查python的官方文档的时候看到了 ctypes 里面的 HWND,想想倒不如换一条思路:让 C 帮我做磨砂的事情,而我只需要在python中调用 dll 中的接口函数就行了。需要注意的是,要想成功调用这个dll必须安好MSVC,不想安的话可以参见 如何在pyqt中通过调用SetW ...

2021-04-11 14:56 0 282 推荐指数:

查看详情

何在pyqt实现亚克力磨砂效果的QLabel

前言 Windows10 在 UWP 应用中支持亚克力画刷,可以在部件的底部绘制亚克力效果的背景图。下面我们使用 QLabel 来模拟这个磨砂过程。 实现方法 MSDN 文档中介绍了亚克力材料的配方,包括:高斯模糊、亮度混合、色调混合和噪声纹理。 高斯模糊 我们先来实现高斯模糊的效果 ...

Thu Jan 06 03:19:00 CST 2022 2 932
何在pyqt实现win10亚克力效果

亚克力效果实现思路 上一篇博客《如何在pyqt实现窗口磨砂效果实现了win7的Aero效果,但是和win10的亚克力效果相比,Aero还是差了点内味。所以今天早上又在网上搜了一圈,无意中发现了这篇博客《使用 SetWindowCompositionAttribute 来控制程序 ...

Mon Apr 12 01:10:00 CST 2021 2 308
何在pyqt通过调用 SetWindowCompositionAttribute 实现Win10亚克力效果

亚克力效果 在《如何在pyqt实现窗口磨砂效果》和《如何在pyqt实现win10亚克力效果,我们调用C++ dll来实现窗口效果,这种方法要求电脑上必须装有MSVC。Visual Studio装起来确实费时又占C盘空间,所以今天在python中直接调用 ...

Sun Apr 11 22:03:00 CST 2021 0 605
何在pyqt给无边框窗口添加DWM环绕阴影

前言 在之前的博客《如何在pyqt通过调用SetWindowCompositionAttribute实现Win10亚克力效果,我们实现窗口的亚克力效果,同时也用SetWindowCompositionAttribute() 给亚克力窗口加上了阴影。但是更多时候我们用不到亚克力效果,但又 ...

Sun Apr 11 23:58:00 CST 2021 0 249
何在pyqt实现平滑滚动的QScrollArea

平滑滚动的视觉效果 Qt 自带的 QScrollArea 滚动时只能在两个像素节点之间跳变,看起来很突兀。刚开始试着用 QPropertyAnimation 来实现平滑滚动,但是效果不太理想。所以直接开了定时器,重写 wheelEvent() 来实现平滑滚动。效果如下: 实现思路 定时器 ...

Sun Apr 11 23:35:00 CST 2021 0 521
何在 pyqt 实现全局事件总线

前言 在 Qt 可以使用信号和槽机制很方便地实现部件之间的通信,考虑下面这样的场景: 我想要点击任意一个专辑卡并通知主界面跳转到专辑界面,那么一种实现方式如上图所示:点击任意一个蓝色方框所示的专辑卡,发出 switchToAlbumIntetrfaceSig 给父级部件专辑卡视图 ...

Sun Feb 13 08:25:00 CST 2022 3 600
何在pyqt自定义无边框窗口

前言 之前写过很多关于无边框窗口并给窗口添加特效的博客,按照时间线罗列如下: 如何在pyqt实现窗口磨砂效果何在pyqt实现win10亚克力效果何在pyqt通过调用SetWindowCompositionAttribute实现Win10亚克力效果何在pyqt ...

Thu Apr 15 05:28:00 CST 2021 0 984
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM