现在我能一整天都严肃地盯着屏幕,看起来就像在很认真地工作,

利用摸鱼,打开小说,可实行完美摸鱼,实时保存进度

用PYQT5 Mock一个摸鱼软件 类似于Thief

按键功能控制

q 退出

B 书签功能

F 增加字体大小

Shift F 减小字体

O 打开文件,现在仅仅支持 utf8格式的txt文件

主要功能

FlameLess Window 无边框窗口

一键快速退出

ini 文件读写

右键上下文菜单

总结

pyqt 实现功能还是比较顺畅的,总体功能实现代码量不到200行


from PyQt5 import QtCore
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import Qt
import sys,os
import configparser# Q to quit app
# B Bookmark
# F increase Font size
# Shift F decrease Font size
# O Open *.txt fileclass FisherReader(QMainWindow):def __init__(self):super().__init__()# dragself.pos =[0,0]self.mouse_down = Falseself.down = [0,0]self.prev = [0,0]# textself.txtName = ''self.text = []self.index = 0# styleself.show_info = Falseself.font_size = 8self.bgColor = QColor(255,255,255)self.defPalette()# self.read_Txt()def mousePressEvent(self, event):current = [event.pos().x(),event.pos().y()]self.down = currentself.mouse_down = Truedef mouseMoveEvent(self,event):current = [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]]self.move(new[0],new[1])self.pos = new# print(self.pos)self.prev = currentdef mouseReleaseEvent(self, event):self.mouse_down = Falsedef keyPressEvent(self,event):if event.key() == Qt.Key_Q:app.quit()if event.key() == Qt.Key_Down:if self.index < len(self.text)-1:self.index = self.index+1self.update()if event.key() == Qt.Key_Up:if self.index > 0:self.index = self.index-1self.update()if event.key() == Qt.Key_F:if event.modifiers() & QtCore.Qt.ShiftModifier and self.font_size >2:self.font_size -= 2else:self.font_size += 2self.update()if event.key() == Qt.Key_I:self.show_info = not self.show_infoself.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 defPalette(self):p = self.palette()p.setColor(QPalette.Background,self.bgColor)self.window().setPalette(p)def paintEvent(self,event):painter = QPainter(self)painter.setRenderHints(QPainter.Antialiasing)if len(self.text)>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.QRectF(610,10,50,50),Qt.AlignLeft,"{}/{}".format(self.index+1,len(self.text)))def open(self):path, _ = QFileDialog.getOpenFileName(self, "打开文件",os.getcwd(), "Text files (*.txt)")if path:self.txtName = pathself.read_Txt_smart(path)self.update()def read_Txt(self,file):with open(file,'r',encoding="UTF-8") as f:self.text = f.readlines()def cut(self,text,length):return [text[i:i+length] for i in range(0,len(text),length)]def wheelEvent(self, e):if e.angleDelta().y() < 0:if self.index < len(self.text)-1:self.index = self.index+1elif e.angleDelta().y() > 0:if self.index > 0:self.index = self.index-1self.update()  def addBookmark(self):config = configparser.ConfigParser()path = "bookmark.ini"config.add_section('bookmark')config.set('bookmark','path',self.txtName)config.set('bookmark','bookmark',str(self.index))config.write(open(path,'w'))def getBookmark(self):config = configparser.ConfigParser()path = "bookmark.ini"config.read(path)if config.has_option('bookmark','path'):self.txtName = config.get('bookmark','path')self.index = int(config.get('bookmark','bookmark'))self.read_Txt_smart(self.txtName);self.update()def read_Txt_smart(self,file):with open(file,'r',encoding="UTF-8") as f:text_buffer = []lines = f.readlines()for line in lines:cline = self.cut(line,30)for cl in cline:if len(cl)>1:text_buffer.append(cl)self.text = text_bufferif __name__ == '__main__':app = QApplication(sys.argv)fisher = FisherReader()fisher.resize(660,45)fisher.setWindowFlags(Qt.FramelessWindowHint|Qt.WindowStaysOnTopHint)fisher.show()fisher.setWindowTitle("小鱼")sys.exit(app.exec_())

pyqt5 桌面摸鱼工具 一行小鱼相关推荐

  1. 如果你需要一款摸鱼工具,那么 Thief Book是你的不错选择

    如果你需要一款摸鱼工具,那么Thief Book中文版是你的不错选择!Thief Book Mac中文版是Mac平台上的一款摸鱼看书神器.对于经常坐在电脑上工作的人来说,上班偷小差就可以使用这款Thi ...

  2. 老板键2.0一键隐藏 桌面摸鱼 用于快速隐藏游戏或其他无关工作的程式

    介绍: 老板键是一种热键或热键组合,用于快速隐藏游戏或其他无关工作的程式,并让显示器呈现正常工作时的画面,藉以欺瞒老板和同事等,达到保护您隐私的目的,使之以为上班时间进行娱乐的员工在做自己份内的工作. ...

  3. 一键摸鱼神器火了!专为Windows系统打造,老板在身后也可以很淡定

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 丰色 发自 凹非寺 量子位 报道 | 公众号 QbitAI 哪个打工 ...

  4. 偷走不经意流逝的时光,摸鱼神器:神偷

    大家好,我是TJ 关注TJ君,回复"武功秘籍"免费获取计算机宝典书籍 前几日TJ君和大家分享了一个摸鱼利器:一款插件,让摸鱼变得如此简单,聊QQ聊微信怎么看都像是在工作 发现还有不 ...

  5. 一键摸鱼神器火了!专为 Windows 系统打造,老板在身后也可以很淡定

    点击关注公众号,回复"1024"获取2TB学习资源! 丰色 发自 凹非寺 量子位 报道 | 公众号 QbitAI 哪个打工人,还没点摸鱼小技巧了? 这不最近,有一个摸鱼工具,名叫L ...

  6. 互联网打工人,还没点摸鱼小技巧了?

    哪个打工人,还没点摸鱼小技巧了? 这不最近,有一个摸鱼工具,名叫Loaf,就有点火,还冲上过微博热搜. 在你安装好应用,点一下左上角的"摸鱼"按钮后,电脑就能弹出一个假的系统更新页 ...

  7. 带你一起来摸鱼(快看摸鱼方法了)

    摸鱼源自成语"浑水摸鱼"现多用在上班族之间,指上班时间偷懒,不认真工作.具体表现在上班时间做与工作无关的事.或为凑齐八小时工作时间,早早做好准备等着下班.俗话说,"只工作 ...

  8. 一键摸鱼神器火了,专为打工人量身定做,老板在身后也可以依然淡定!

    公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 哪个打工人,还没点摸鱼小技巧了? 这不最近,有一个摸鱼工具,名叫Loaf,就有点火,还冲上过微博热搜. 在你安装好 ...

  9. 一键摸鱼神器火了专为Windows系统打造,老板在身后也可以很淡定

    点击"终码一生",关注,置顶公众号 每日技术干货,第一时间送达! 哪个打工人,还没点摸鱼小技巧了? 这不最近,有一个摸鱼工具,名叫Loaf,就有点火,还冲上过微博热搜. 在你安装好 ...

最新文章

  1. c# response输出文件实例(14)
  2. Foundation框架
  3. Dataway让 Spring Boot 开发变得更高效!
  4. Django进阶之中间件
  5. 错误: 在类中找不到 main 方法, 请将 main 方法定义为:public static void main(String[] args)否则 JavaFX 应用程序类必须扩展javafx.ap
  6. case when then 中判断null的方法
  7. python填充三角形颜色_python的pillow用ImageDraw.Draw.polygon如何填充半透明的颜色
  8. DataV构建大屏(全屏)数据展示页面
  9. python 身高预测
  10. finecms V5 会员头像任意文件上传漏洞 附修复代码
  11. 解决conda install pkgs found conflict问题
  12. web端微信二维码自定义样式
  13. DTS、杜比2.0、杜比5.1、AC3各是什么意思
  14. 基于SpringBoot+vue的前后端分离学生成绩管理系统的设计与实现--毕业设计
  15. THREE.OrbitControls参数控制解释
  16. matlab 2016a
  17. 《人性的弱点》(一)
  18. 什么叫组网_什么是Mesh自组网?这篇文章是讲清楚了!
  19. 生成付款的二维码,实际流程
  20. jQuery中的slideUp()、slideDown()、hide()、show() 的比较

热门文章

  1. 视频缓存AndroidVideoCache
  2. MATLAB安装失败,MATLAB软件总是运行特别慢原因分析
  3. 麦当劳,肯德基等店排班时根据营业额预估需要人手的软件,原理是什么?
  4. C#调用sql存储过程
  5. ubuntuPC机安装JLink驱动
  6. UEFI(EFI) 的启动菜单与NVRAM
  7. 奇异值分解(SVD)及其应用
  8. Redis数据库的哨兵模式(很重要)
  9. 【中医百科app——中药、方剂、针灸】养生必备,随时随地查看症状
  10. MQTT 赋能工业 PLC 数据采集与应用