pyqt5开发的漂亮界面,pyqt5美化界面
这篇文章主要介绍了如何利用PyQT5制作一个桌面摸鱼工具,利用摸鱼,打开小说,可实行完美摸鱼,实时保存进度,快来跟随小编一起动手试一试吧
目录
前言按键功能控制主要功能核心代码
前言
现在我能一整天都严肃地盯着屏幕,看起来就像在很认真地工作,
利用摸鱼,打开小说,可实行完美摸鱼,实时保存进度
用PYQT5模拟一个摸鱼软件类似于小偷
按键功能控制
英语字母表中第十七个字母退出
仓库书签功能
英语字母表中第六个字母增加字体大小
射手座减小字体
英语字母表中第十五个字母打开文件,现在仅仅支持utf8格式的文本文件(文本文件)文件
主要功能
无焰窗无边框窗口
一键快速退出
初始化设置文件的后缀名文件读写
右键上下文菜单
核心代码
河岸计算实现功能还是比较顺畅的,总体功能实现代码量不到200行
从PyQt5导入QtCore
来自PyQt5 .QtWidgets导入*
来自PyQt5 .模块导入*
来自PyQt5 .QtCore导入
导入系统、操作系统
导入configparser
#问退出应用程序
# B书签
# F增加字体大小
# F档减小字体大小
# O开放*。文本文件(textfile)文件
类FisherReader(QMainWindow):
def __init__(self):
超级()。__init__()
#拖动
self.pos=[0,0]
self.mouse_down=False
self.down=[0,0]
self.prev=[0,0]
#文本
self.txtName=
self.text=[]
self.index=0
#风格
self.show_info=False
self.font_size=8
self.bgColor=QColor(255,255,255)
self.defPalette()
# self.read_Txt()
def mousePressEvent(self,event):
当前=[event.pos().x(),event.pos().y()]
self.down=当前
self.mouse_down=True
def mouseMoveEvent(自身,事件):
当前=[event.pos().x(),event.pos().y()]
if self.mouse_down:
delta=[current[0]-self.down[0],current[1]-self.down[1]]
new=[self.pos[0] delta[0],self.pos[1] delta[1]]
自我移动(新[0],新[1])
self.pos=new
#打印(自助)
self.prev=当前
def mouseReleaseEvent(self,event):
self.mouse_down=False
def keyPressEvent(self,event):
if event.key()==Qt .Key_Q:
app.quit()
if event.key()==Qt .按键向下:
如果自我。索引len(self。正文)-1:
自我指数=自我指数一
self.update()
if event.key()==Qt .Key_Up:
if self.index 0:
自我指数=自我指数-1
self.update()
if event.key()==Qt .Key_F:
if event.modifiers() QtCore .Qt。shift修饰符和self.font_size 2:
self.font_size -=2
else:
self.font_size=2
self.update()
if event.key()==Qt .Key_I:
自我。show _ info=不是自己。显示信息
self.update()
if event.key()==Qt .Key_O:
self.open()
self.update()
if event.key()==Qt .Key_B:
self.addBookmark()
if event.key()==Qt .Key_R:
self.getBookmark()
def调色板(自身):
p=self.palette()
p.setColor(QPalette .背景,self.bgColor)
self.window().设置面板(p)
定义绘画事件(自身,事件):
画师=q画师(自己)
画家。setrenderhints(q painter .抗锯齿)
如果len(自我文本)0:
painter.setFont(QFont(SimSun ,self.font_size))
painter.drawText(QtCore .QRectF(10,10,600,50),Qt .AlignLeft,self.text[self.index])
if self.show_info:
painter.drawText(QtCore .(610,10,50,50),第四季.AlignLeft, {}/{} .格式(self.index 1,len(self.text))
定义打开(自身):
path,_=qfiledialog。获取打开的文件名(自己,’打开文件、os.getcwd()、和文本文件(*。txt))
如果路径:
self.txtName=path
self.read_Txt_smart(路径)
self.update()
def read_Txt(self,file):
用打开(文件, r ,编码=UTF-8 )作为f:
self.text=f.readlines()
定义剪切(自身、文本、长度):
return[text[I : I length]for I in range(0,len(text),length)]
def wheelEvent(self,e):
如果安格尔德尔塔().y() 0:
如果自我。索引len(self。正文)-1:
自我指数=自我指数一
埃利夫安格尔德尔塔.y() 0:
if self.index 0:
自我指数=自我指数-1
self.update()
def addBookmark(self):
config=configparserConfigParser()
path=bookmark.ini
config.add_section(书签)
config.set(bookmark , path ,self.txtName)
config.set(bookmark , bookmark ,str(self.index))
config.write(open(path, w ))
def getBookmark(self):
config=configparserConfigParser()
path=bookmark.ini
配置.读取(路径)
if config.has_option(bookmark , path):
自我。txt name=config。get(书签,路径)
自我。index=int(config。get(书签,书签))
自我。read _ Txt _ smart(self。Txt名称);
self.update()
def read_Txt_smart(self,file):
用打开(文件, r ,编码=UTF-8 )作为f:
text_buffer=[]
lines=f.readlines()
对于线路:中的线路
cline=self.cut(第30行)
对于临床中的cline:
如果镜头(cl)1:
text_buffer .追加
self.text=text_buffer
if __name__==__main__:
app=QA应用程序(sys。argv)
fisher=FisherReader()
fisher.resize(660,45)
setWindowFlags(Qt .FramelessWindowHint Qt .WindowStaysOnTopHint)
fisher.show()
fisher.setWindowTitle(小鱼)
sys.exit(app.exec_())
到此这篇关于基于PyQT5制作一个桌面摸鱼工具的文章就介绍到这了,更多相关PyQT5桌面摸鱼工具内容请搜索盛行信息技术软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行信息技术软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。