摘要:
无边框窗体的实现思路 在pyqt中只要 self.setWindowFlags(Qt.FramelessWindowHint) 就可以实现边框的去除,但是没了标题栏也意味着窗口大小无法改变、窗口无法拖拽和窗口阴影的消失。网上有很多介绍pyqt自定义标题栏的方法,几乎都是通过处理 mousePress 阅读全文
摘要:
平滑滚动的视觉效果 Qt 自带的 QScrollArea 滚动时只能在两个像素节点之间跳变,看起来很突兀。刚开始试着用 QPropertyAnimation 来实现平滑滚动,但是效果不太理想。所以直接开了定时器,重写 wheelEvent() 来实现平滑滚动。效果如下: 实现思路 定时器溢出是需要时 阅读全文
摘要:
滚动字幕的视觉效果 网上有很多博客介绍了滚动字幕的实现方法,懂得都懂,大部是 Ctrl C + Ctrl V,效果还很差,最后还是得靠自己。主要思路就是通过定时器定时刷新+绘制两段完整的字符串来达到 蒙蔽双眼 滚动的效果,具体效果如下图所示 具体实现方式 ScrollTextWindow 类 窗口 阅读全文
摘要:
磨砂效果的实现思路 这两周一直在思考怎么在pyqt上实现窗口磨砂效果,网上搜了一圈,全都是 C++ 的实现方法。正好今天查python的官方文档的时候看到了 ctypes 里面的 HWND,想想倒不如换一条思路:让 C++ 帮我做磨砂的事情,而我只需要在python中调用 dll 中的接口函数就行了 阅读全文
摘要:
弹出菜单的视觉效果 QLineEdit 原生的菜单弹出效果十分生硬,而且样式很丑。所以照着Groove中单行输入框弹出菜单的样式和动画效果写了一个可以实现动态变化Item的弹出菜单,根据剪贴板的内容是否为文本、编辑框是否有文本以及是否有选中文本分为6种情况,大体效果如下所示(ヾ(๑╹◡╹)ノ" 硝子 阅读全文
摘要:
亚克力效果 在《如何在pyqt中实现窗口磨砂效果》和《如何在pyqt中实现win10亚克力效果》中,我们调用C++ dll来实现窗口效果,这种方法要求电脑上必须装有MSVC。Visual Studio装起来确实费时又占C盘空间,所以今天在python中直接调用 SetWindowCompositio 阅读全文
摘要:
前言 matplotlib 功能十分强大,就是工具栏丑了点。忍了一个学期之后,还是决定自己动手,魔改一波 matplotlib 的工具栏样式。同时给大家分享一下自己按照 MATLAB 写的 matplotlib 样式文件。注意:代码中 matplotlib 版本为 3.3.4,其他版本效果会不一样。 阅读全文
摘要:
前言 ~mpl_toolkits.mplot3d 生成的3D坐标系背景色是灰色的,刻度线也向内延伸了,如果搭配上其他白色背景的 2D 图,看起来很奇怪,比如下面这张图: 网上有一些办法可以将3D坐标区的背景设置为白色,比如: ax.w_xaxis.set_pane_color((1.0, 1.0, 阅读全文