前言 Windows10 在 UWP 應用中支持亞克力畫刷,可以在部件的底部繪制亞克力效果的背景圖。下面我們使用 QLabel 來模擬這個磨砂過程。 實現方法 MSDN 文檔中介紹了亞克力材料的配方,包括:高斯模糊、亮度混合、色調混合和噪聲紋理。 高斯模糊 我們先來實現高斯模糊的效果 ...
磨砂效果的實現思路 這兩周一直在思考怎么在pyqt上實現窗口磨砂效果,網上搜了一圈,全都是 C 的實現方法。正好今天查python的官方文檔的時候看到了 ctypes 里面的 HWND,想想倒不如換一條思路:讓 C 幫我做磨砂的事情,而我只需要在python中調用 dll 中的接口函數就行了。需要注意的是,要想成功調用這個dll必須安好MSVC,不想安的話可以參見 如何在pyqt中通過調用SetW ...
2021-04-11 14:56 0 282 推薦指數:
前言 Windows10 在 UWP 應用中支持亞克力畫刷,可以在部件的底部繪制亞克力效果的背景圖。下面我們使用 QLabel 來模擬這個磨砂過程。 實現方法 MSDN 文檔中介紹了亞克力材料的配方,包括:高斯模糊、亮度混合、色調混合和噪聲紋理。 高斯模糊 我們先來實現高斯模糊的效果 ...
無邊框窗體的實現思路 在pyqt中只要 self.setWindowFlags(Qt.FramelessWindowHint) 就可以實現邊框的去除,但是沒了標題欄也意味着窗口大小無法改變、窗口無法拖拽和窗口陰影的消失。網上有很多介紹pyqt自定義標題欄的方法,幾乎都是通過處 ...
亞克力效果的實現思路 上一篇博客《如何在pyqt中實現窗口磨砂效果》 中實現了win7中的Aero效果,但是和win10的亞克力效果相比,Aero還是差了點內味。所以今天早上又在網上搜了一圈,無意中發現了這篇博客《使用 SetWindowCompositionAttribute 來控制程序 ...
亞克力效果 在《如何在pyqt中實現窗口磨砂效果》和《如何在pyqt中實現win10亞克力效果》中,我們調用C++ dll來實現窗口效果,這種方法要求電腦上必須裝有MSVC。Visual Studio裝起來確實費時又占C盤空間,所以今天在python中直接調用 ...
前言 在之前的博客《如何在pyqt中通過調用SetWindowCompositionAttribute實現Win10亞克力效果》中,我們實現了窗口的亞克力效果,同時也用SetWindowCompositionAttribute() 給亞克力窗口加上了陰影。但是更多時候我們用不到亞克力效果,但又 ...
平滑滾動的視覺效果 Qt 自帶的 QScrollArea 滾動時只能在兩個像素節點之間跳變,看起來很突兀。剛開始試着用 QPropertyAnimation 來實現平滑滾動,但是效果不太理想。所以直接開了定時器,重寫 wheelEvent() 來實現平滑滾動。效果如下: 實現思路 定時器 ...
前言 在 Qt 中可以使用信號和槽機制很方便地實現部件之間的通信,考慮下面這樣的場景: 我想要點擊任意一個專輯卡並通知主界面跳轉到專輯界面,那么一種實現方式如上圖所示:點擊任意一個藍色方框所示的專輯卡,發出 switchToAlbumIntetrfaceSig 給父級部件專輯卡視圖 ...
前言 之前寫過很多關於無邊框窗口並給窗口添加特效的博客,按照時間線羅列如下: 如何在pyqt中實現窗口磨砂效果 如何在pyqt中實現win10亞克力效果 如何在pyqt中通過調用SetWindowCompositionAttribute實現Win10亞克力效果 如何在pyqt ...