無邊框窗體的實現思路 在pyqt中只要 self.setWindowFlags(Qt.FramelessWindowHint) 就可以實現邊框的去除,但是沒了標題欄也意味着窗口大小無法改變、窗口無法拖拽和窗口陰影的消失。網上有很多介紹pyqt自定義標題欄的方法,幾乎都是通過處 ...
彈出菜單的視覺效果 QLineEdit 原生的菜單彈出效果十分生硬,而且樣式很丑。所以照着Groove中單行輸入框彈出菜單的樣式和動畫效果寫了一個可以實現動態變化Item的彈出菜單,根據剪貼板的內容是否為文本 編輯框是否有文本以及是否有選中文本分為 種情況,大體效果如下所示 硝子依舊如此迷人: 具體實現流程 Menu 類 Menu 繼承自 QMenu,在這個類中通過調用自定義類 WindowEff ...
2021-04-11 14:51 0 262 推薦指數:
無邊框窗體的實現思路 在pyqt中只要 self.setWindowFlags(Qt.FramelessWindowHint) 就可以實現邊框的去除,但是沒了標題欄也意味着窗口大小無法改變、窗口無法拖拽和窗口陰影的消失。網上有很多介紹pyqt自定義標題欄的方法,幾乎都是通過處 ...
平滑滾動的視覺效果 Qt 自帶的 QScrollArea 滾動時只能在兩個像素節點之間跳變,看起來很突兀。剛開始試着用 QPropertyAnimation 來實現平滑滾動,但是效果不太理想。所以直接開了定時器,重寫 wheelEvent() 來實現平滑滾動。效果如下: 實現思路 定時器 ...
前言 在 Qt 中可以使用信號和槽機制很方便地實現部件之間的通信,考慮下面這樣的場景: 我想要點擊任意一個專輯卡並通知主界面跳轉到專輯界面,那么一種實現方式如上圖所示:點擊任意一個藍色方框所示的專輯卡,發出 switchToAlbumIntetrfaceSig 給父級部件專輯卡視圖 ...
磨砂效果的實現思路 這兩周一直在思考怎么在pyqt上實現窗口磨砂效果,網上搜了一圈,全都是 C++ 的實現方法。正好今天查python的官方文檔的時候看到了 ctypes 里面的 HWND,想想倒不如換一條思路:讓 C++ 幫我做磨砂的事情,而我只需要在python中調用 dll 中的接口函數 ...
准備工作:考慮這個自定義view需要什么屬性來方便在xml布局里面改。在values/attrs.xml里面添加自定義屬性,分別是尺寸,顏色,變大的倍數。 <span style=" ...
前言 Windows10 在 UWP 應用中支持亞克力畫刷,可以在部件的底部繪制亞克力效果的背景圖。下面我們使用 QLabel 來模擬這個磨砂過程。 實現方法 MSDN 文檔中介紹了亞克力材料的配方,包括:高斯模糊、亮度混合、色調混合和噪聲紋理。 高斯模糊 我們先來實現高斯模糊的效果 ...
亞克力效果的實現思路 上一篇博客《如何在pyqt中實現窗口磨砂效果》 中實現了win7中的Aero效果,但是和win10的亞克力效果相比,Aero還是差了點內味。所以今天早上又在網上搜了一圈,無意中發現了這篇博客《使用 SetWindowCompositionAttribute 來控制程序 ...