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

2021-12-08 18:50:29 浏览数 (1)

用 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

0 人点赞