前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >不用再找了!州的先生 Python 图形界面美化代码正式开源分享!

不用再找了!州的先生 Python 图形界面美化代码正式开源分享!

作者头像
州的先生
发布2021-12-08 18:50:29
1.3K0
发布2021-12-08 18:50:29
举报
文章被收录于专栏:州的先生

用 Python 写桌面图形程序的小伙伴都有一个感觉:太难了!

真的是太难了!这个难不是说框架多难,开发多难,而是可供参考的资料太少了。一方面是官方文档的缺失,一方面是中文文档的缺失,还有一方面则是示例的缺失。

导致每一个使用 Python 进行桌面图形程序开发的小伙伴,几乎都是摸着石头踩着坑成长起来的。

州的先生从几年前开始用 Python 图形程序,期间也是踩过了很多坑,不断地翻外文书籍和资料,慢慢把一些坑给填了。

期间也是陆陆续续分享了很多开发教程和实战教程,比如:

  • 《Python GUI教程》系列教程;
  • 《Python 图形界面美化实战教程》;
  • 《PyQt5 制作 TIM 登录界面》;
  • 《Python 图形界面程序实现版本检测和更新》;
  • 《文件内容搜索器》;
  • 《动态股票K线图》;

等等。

基于此,也积累了很多适合于初学者参考和学习的程序代码。其中最受欢迎的,当属 PyQt5 图形美化教程这篇文章了。

之前只是对这篇文章中涉及到的图片素材进行了提供,至于源码,都让小伙伴们自行根据文章中的代码块进行组织。

虽然不是很难,但是很多初学者依然是摸不着头脑。

索性将素材和代码都开源出来,方便初学者掌握、学习、借鉴和参考。

其中,qt_ui.py就是代码主文件,部分内容如下所示:

代码语言:javascript
复制
    # 重写三个方法使我们的Example窗口支持拖动,上面参数window就是拖动对象
    def mousePressEvent(self, event): # 鼠标长按事件
        if event.button() == QtCore.Qt.LeftButton:
            self.m_drag = True
            self.m_DragPosition = event.globalPos() - self.pos()
            event.accept()
            self.setCursor(QtGui.QCursor(QtCore.Qt.OpenHandCursor))

    def mouseMoveEvent(self, QMouseEvent): # 鼠标移动事件
        if QtCore.Qt.LeftButton and self.m_drag:
            self.move(QMouseEvent.globalPos() - self.m_DragPosition)
            QMouseEvent.accept()

    def mouseReleaseEvent(self, QMouseEvent): # 鼠标释放事件
        self.m_drag = False
        self.setCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))

    def paintEvent(self, ev): # 重绘窗口边框线条
        painter = QtGui.QPainter(self)
        painter.begin(self)
        gradient = QtGui.QLinearGradient(QtCore.QRectF(self.rect()).topLeft(), QtCore.QRectF(self.rect()).bottomLeft())
        # gradient.setColorAt(0.0, QtCore.Qt.black)
        gradient.setColorAt(0.5, QtCore.Qt.darkGray)
        # gradient.setColorAt(0.7, QtCore.Qt.)
        painter.setRenderHint(QtGui.QPainter.Antialiasing)
        painter.setBrush(gradient)
        painter.setPen(QtCore.Qt.transparent)
        painter.drawRoundedRect(self.rect(), 10.0, 10.0)
        painter.end()

其余的都是程序内使用到的图片素材。

目前,代码开源在了州的先生在 Gitee 创建的仓库python-gui中:

图形界面美化的代码位于example目录中,这个目录后续将会持续开源一些 Python 图形界面程序的实例代码;然后docs目录中后续将会开源一些 Python 图形界面程序开发的方法、技巧、教程等等。

同时,也欢迎大家贡献自己的代码、教程到仓库,让我们一起,为 Python 图形界面开发这一细分领域的推广、普及和门槛的降低,贡献自己的一份力量。

仓库地址:https://gitee.com/zmister/python-gui

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 州的先生 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档