iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么用PyQT5制作一个桌面摸鱼工具
  • 317
分享到

怎么用PyQT5制作一个桌面摸鱼工具

2023-06-29 04:06:22 317人浏览 独家记忆
摘要

这篇文章主要介绍“怎么用PyQt5制作一个桌面摸鱼工具”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么用PyQT5制作一个桌面摸鱼工具”文章能帮助大家解决问题。按键功能控制q 退出B 书签功能F

这篇文章主要介绍“怎么用PyQt5制作一个桌面摸鱼工具”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么用PyQT5制作一个桌面摸鱼工具”文章能帮助大家解决问题。

按键功能控制

q 退出

B 书签功能

F 增加字体大小

Shift F 减小字体

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

主要功能

FlameLess Window 无边框窗口

一键快速退出

ini 文件读写

右键上下文菜单

核心代码

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

from PyQt5 import QtCorefrom PyQt5.QtWidgets import *from PyQt5.QtGui import *from PyQt5.QtCore import Qtimport sys,osimport 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制作一个桌面摸鱼工具”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: 怎么用PyQT5制作一个桌面摸鱼工具

本文链接: https://www.lsjlt.com/news/322651.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么用PyQT5制作一个桌面摸鱼工具
    这篇文章主要介绍“怎么用PyQT5制作一个桌面摸鱼工具”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么用PyQT5制作一个桌面摸鱼工具”文章能帮助大家解决问题。按键功能控制q 退出B 书签功能F ...
    99+
    2023-06-29
  • 基于PyQT5制作一个桌面摸鱼工具
    目录前言按键功能控制主要功能核心代码前言 现在我能一整天都严肃地盯着屏幕,看起来就像在很认真地工作, 利用摸鱼,打开小说,可实行完美摸鱼,实时保存进度 用PYQT5 Mock一个摸鱼...
    99+
    2024-04-02
  • 利用Flutter制作一个摸鱼桌面版App
    目录准备工作开始敲代码找到资源思考布局实现布局思考动画实现动画结语Win10商店上架了一款名为《摸鱼》的App,在下载打开之后,这个App会让你的电脑进入一个假更新的画面,让别人以为...
    99+
    2024-04-02
  • 如何利用Flutter制作一个摸鱼桌面版App
    这篇文章将为大家详细讲解有关如何利用Flutter制作一个摸鱼桌面版App,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Win10商店上架了一款名为《摸鱼》的App,在下载打开之后,这个Ap...
    99+
    2023-06-22
  • 基于PyQt5制作一个群发邮件工具
    演示示例使用QQ邮箱发送邮件,先获取自己的QQ邮箱的授权码。因为后面发送邮件时需要使用自己的授权码作为邮箱的密码登录邮箱最后达到发送邮件的目的。 将UI处理的相关的界面包导入进来...
    99+
    2024-04-02
  • 基于PyQt5制作一个截图翻译工具
    目录功能介绍UI 界面截图翻译文字识别全局热键(快捷键)托盘管理主代码功能介绍 1.翻译功能 2.截图功能(快捷键 + 截图存储到剪切板中) 3.文字识别OCR(基于百度API的文字...
    99+
    2024-04-02
  • 怎么用flutter制作上班摸鱼应用
    小编给大家分享一下怎么用flutter制作上班摸鱼应用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!网上最近看到了个摸鱼应用,还挺好玩的,我就自己用flutter写了一个。之前我有用flutter制作过mobile应用,但...
    99+
    2023-06-29
  • 基于PyQT5制作一个敏感词检测工具
    设计思路:根据敏感词库文件筛选,查看输入的文本中是否包含敏感词汇。从而过滤出相关的敏感词。 导入应用相关的模块。 import os import logging import s...
    99+
    2024-04-02
  • 如何使用PyQT5制作一个敏感词检测工具
    小编给大家分享一下如何使用PyQT5制作一个敏感词检测工具,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!设计思路:根据敏感词库文件筛选,查看输入的文本中是否包含敏感词汇。从而过滤出相关的敏感词。导入应用相关的模块。impo...
    99+
    2023-06-29
  • 基于Python制作一键桌面整理工具
    目录前言效果展示开发思路完整代码前言 我承认我不是一个爱整理桌面的人,因为我觉得乱糟糟的桌面,反而容易找到文件。 哈哈,可是最近桌面实在是太乱了,自己都看不下去了,几乎占满了整个屏幕...
    99+
    2024-04-02
  • 怎么利用PyQt5制作一个简单的登录界面
    这篇文章主要介绍“怎么利用PyQt5制作一个简单的登录界面”,在日常操作中,相信很多人在怎么利用PyQt5制作一个简单的登录界面问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么利用PyQt5制作一个简单的登...
    99+
    2023-07-02
  • 怎么用Python制作一个文件去重小工具
    这篇文章主要讲解了“怎么用Python制作一个文件去重小工具”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Python制作一个文件去重小工具”吧!前言常常在下载网络素材时有很多的重复文...
    99+
    2023-06-29
  • 使用Python怎么制作一个信息轰炸工具
    本篇文章给大家分享的是有关使用Python怎么制作一个信息轰炸工具,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。准备阶段我们需要安装pyautogui调用库(在命令提示符下安装...
    99+
    2023-06-15
  • 怎么使用Python和ChatGPT制作一个AI实用工具
    本篇内容介绍了“怎么使用Python和ChatGPT制作一个AI实用工具”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!注册OpenAI首先需...
    99+
    2023-07-05
  • 怎么用PyQt5制作一个猜数字小游戏
    今天小编给大家分享一下怎么用PyQt5制作一个猜数字小游戏的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。开始之前,直接来看一...
    99+
    2023-06-29
  • 前端页面制作工具pagemaker怎么用
    本篇内容介绍了“前端页面制作工具pagemaker怎么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • 怎么用Python制作一个数据预处理小工具
    这篇文章主要讲解了“怎么用Python制作一个数据预处理小工具”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Python制作一个数据预处理小工具”吧!在我们平常使用Python进行数据...
    99+
    2023-06-15
  • 怎么使用Python+PyQt5自制监控小工具
    本篇内容介绍了“怎么使用Python+PyQt5自制监控小工具”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!利用opencv的图像处理功能可...
    99+
    2023-07-05
  • 如何利用PyQt5制作一个简单的登录界面
    目录环境配置额外工具配置生成UI界面总结环境配置 新建python虚拟环境并激活 conda create -n pyqt python=3.8 conda activate py3...
    99+
    2024-04-02
  • 怎么在python中利用tkinter制作一个倒计时工具
    怎么在python中利用tkinter制作一个倒计时工具?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。python的五大特点是什么python的五大特点:1.简...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作