python⼩技巧⼤应⽤--⽤PyQt5实现⼀个漂亮的界⾯这回要实现⼀个漂亮的基础界⾯,要具有如下特⾊:
⽆边框,圆⾓,漂亮的背景,可拖拽移动,具有最⼩化,关闭按钮,界⾯与代码分离,⽀持qss
先展⽰⼀下最后的效果:
那就开始⼯作吧:
1.通过Qt Designer实现界⾯设计
将设计好的界⾯保存为dialog.ui⽂件
将资源⽂件保存为image.qrc
图⽚⽂件有bg.jpg,images/min.png,images/quit.png 这些资源⽂件都可以在我的资源⽂件(
)下载到,如果需要学习Qt界⾯开发的可参考我的博⽂:
2.在Pycharm新建项⽬test-baseUi,将上述⽂件复制到项⽬中
⽬录结构如图:
3.通过⼯具PyUIC,PyRcc分别对dialog.ui,image.qrc进⾏转化,⽣成dialog.py和image_rc.py⽂件(关于如何在pycharm上安装这⼏个⼯具的⽂章⽹上有很多,在此就不说了)
4.现在界⾯有了,要实现界⾯与代码分离,建⽴main.py⽂件打开ui界⾯
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
' a Main using Ui file'
__author__ = 'TianJiang Gui'
import sys
from PyQt5.QtWidgets import QApplication,QDialog,QFileDialog
import dialog
from PyQt5.QtCore import *
class MainDo(QDialog, dialog.Ui_Dialog):
def __init__(self):
QDialog.__init__(self)
dialog.Ui_Dialog.__init__(self)
self.setupUi(self)能运行python的软件
if __name__ == '__main__':
app = QApplication(sys.argv)
md = MainDo()
md.show()
<_())
5.实现圆⾓,⽆边框样式,最⼩化,关闭窗⼝功能
# ⽆边框
self.setWindowFlags(Qt.FramelessWindowHint)
#---gtj 设置窗⼝透明
self.setAttribute(Qt.WA_TranslucentBackground)
#---gtj实现最⼩化,关闭功能
self.pushButton_t(self.showMinimized)
self.pushButton_t(self.close)
6.实现⿏标拖拽功能
#---gtj 实现⿏标拖拽功能
def mousePressEvent(self, event):
self.pressX = event.x()    #记录⿏标按下的时候的坐标
self.pressY = event.y()
def mouseMoveEvent(self, event):
x = event.x()
y = event.y()  #获取移动后的坐标
moveX = x-self.pressX
moveY = y-self.pressY  #计算移动了多少
positionX = self.frameGeometry().x() + moveX
positionY = self.frameGeometry().y() + moveY    #计算移动后主窗⼝在桌⾯的位置        ve(positionX, positionY)    #移动主窗⼝
7.实现qss⽂件引⽤
1)⾸先在初始化时增加self.qss()
2)增加⼀个调⽤qss⽂件的⼯具类UsingQSS
3)主应⽤程序中增加qss()函数
#---gtj qss⽂件引⽤
def qss(self):
self.qssfile = "./qss/dialog.qss"
self.style = UsingQSS.loadqss(self.qssfile)        self.setStyleSheet(self.style)
⾄此全部功能实现完毕!
最终项⽬⼯程⽂件结构如下:
如果你想直接获得现成的⼯程项⽬,那就付5颗咖啡⾖打赏⼀下吧:)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。