点击上方蓝色小字,关注“涛哥聊Python”
重磅干货,第一时间送达
Mozzarella Ashbadger:使用选项卡升级你的浏览体验
Mozarella Ashbacker是 络浏览领域的最新革命!返回上一页!打印!保存文件!帮助列表!跟其他浏览器一样的话纯属巧合。
Calculon:用PyQt写的桌面计算器
一个使用Python在PyQt中实现的简单计算器应用程序。用户界面是在Qt设计器中设计的,计算器操作是使用简单的基于堆栈的逻辑实现的。
7、摄像头
NSAViewer-有人正看着你
使用此摄像头快照应用程序,你可以拍摄摄像头当前正在查看的内容的照片。使用QtMultimedia多媒体框架处理与相机的所有交互,并支持多个摄像头(如果有的话)。
你还可以弹出一个浮动在顶部的视频窗口。
这个应用程序非常简单,但是演示了在PyQt中创建无装饰窗口。删除窗口装饰会导致不能拖动窗口,因此我们必须自己重新实现这种行为。
10、画图
Piecasso-PyQt中的桌面绘画应用程序
用Piecasso来表达自己吧,唯一一个以派的现成图片为特色的绘画程序。Piecasso是windows95中画图程序的一个克隆,在此之上做了一些增减。这个程序的特点是有标准的工具,包括钢笔,刷子,填充,喷雾罐,橡皮擦,文本和一些形状。
代码注释
事件处理
所有工具都是用嵌套的事件处理程序实现的,这些处理程序会根据需要转发事件。这允许在具有共同行为(例如形状绘制)的工具之间重复使用大量代码。添加选择区域动画需要一个计时器(更新爬行蚂蚁),这增加了一些代码复杂性。
染色法
从性能的角度来看,这是这个应用程序中最棘手的部分。直接检查像素太慢(整个画布填充时间约为10秒)。在Python中实现这一点的大多数代码都使用numpy,但我不想单独为此引入依赖关系。
通过将图像导出为bytestring,然后向下采样到每像素一个布尔字节(用于匹配/不匹配)来简化比较循环,可以达到合理的速度。
虽然这个搜索填充算法仍然相当愚蠢。
11、解压缩
7Pez-有史以来最好/最差的解压应用程序
用一只猫解压你的文件。将zip文件拖放到悬空喵咪上,填充它手臂处。按下头部将会解压缩你的文件到当前目录。
当你打开应用程序时,猫咪的手臂处是空的。
按下猫的头,文件就会解压了。
12、翻译
Translatarrrr-从任何语言到海盗语的即时翻译
从任何语言翻译(谷歌翻译支持)到海盗语。它调用了远程api http://api.funteransations.com 将英语翻译成海盗语,以及谷歌的一个非官方的Python包装器将其他语言翻译成英语。
所以总结下来,这个程序用处不大。
13、天气
Raindar-PyQt内置的天气预 应用程序
获取每日天气和15小时预 。数据来自免费的天气预 API https://openweathermap.org/

配置选项允许1次发1张或3张,允许3、5或无限轮。
代码注释
卡片处理
这里使用的方法是将每个可以放置卡片的地方作为一个“堆栈”对象来处理它当前持有的卡片。每个堆栈负责其堆栈上卡片的布局。
堆栈还负责接受/拒绝尝试在其上放置卡的行为。有些堆栈,如交易堆不接受任何降牌。其他的特殊堆有特定的规则。
在大多数情况下,除了底部的“在玩”牌堆外,牌堆上的任何牌都没有联系。底部的卡片具有父子关系,允许一次拖动多张卡片。
结束动画
最后的结束动画是独立的,并且发生在比赛时间之外,所以第一个想法是有一个单独的假事件循环,使用QApplication.processEvents勾选。但那实现起来有点恶心。
相反,动画是由QTimer处理的,QTimer通常在播放过程中处于空闲状态,一旦被触发就会反复ping一个动画前进投放。这会移动卡片(假装是“重力”,反弹)以及在它们离开游戏区域后重新堆叠它们。使用正常的堆叠代码就可以实现重新堆叠,这样它们就可以堆积起来。最后一个难题是阻止用户的交互,否则卡片仍然可以被抓取和丢弃。实现这一点的最简单方法是在整个窗口上放置一个对象,该对象被设置为捕获(并放弃)所有鼠标单击。
最后,想创建自己的应用程序吗/h1>
如果你觉得这些 app 有些太过简洁,希望了解更多关于 PyQt 的信息,请参阅PyQt5 教程[19],它涵盖了使用PyQt构建app从前到后所需的所有知识。
如果你觉得这些 app 有些太过简洁,希望了解更多关于 PyQt 的信息,请参阅PyQt5 教程[19],它涵盖了使用PyQt构建app从前到后所需的所有知识。
你也可以在这个 站上找到关于这些“小型app”的评论。
扩展
如果你想了解更多,可以移步这里观看更多的官方示例:https://diagrams.mingrammer.com/docs/getting-started/examples
参考资料
[1]
这个 站: https://www.learnpyqt.com/apps/
[2]
pyqt5入门教程: https://www.learnpyqt.com/courses/start/
[3]
络浏览器: https://github.com/learnpyqt/15-minute-apps/tree/master/browser
[4]
络浏览器(选项卡): https://github.com/learnpyqt/15-minute-apps/tree/master/browser_tabbed
[5]
扫雷: https://github.com/learnpyqt/15-minute-apps/tree/master/minesweeper
[6]
No2Pads: https://github.com/learnpyqt/15-minute-apps/tree/master/notepad
[7]
计算器: https://github.com/learnpyqt/15-minute-apps/tree/master/calculator
[8]
文字处理器: https://github.com/learnpyqt/15-minute-apps/tree/master/wordprocessor
[9]
摄像头/快照: https://github.com/learnpyqt/15-minute-apps/tree/master/camera
[10]
播放器: https://github.com/learnpyqt/15-minute-apps/tree/master/mediaplayer
[11]
便笺: https://github.com/learnpyqt/15-minute-apps/tree/master/notes
[12]
画图: https://github.com/learnpyqt/15-minute-apps/tree/master/paint
[13]
解压缩: https://github.com/learnpyqt/15-minute-apps/tree/master/unzip
[14]
翻译: https://github.com/learnpyqt/15-minute-apps/tree/master/translate
[15]
天气: https://github.com/learnpyqt/15-minute-apps/tree/master/weather
[16]
货币转换器: https://github.com/learnpyqt/15-minute-apps/tree/master/currency
[17]
单人纸牌: https://github.com/learnpyqt/15-minute-apps/tree/master/solitaire
[18]
fixer.io: https://fixer.io/
[19]
PyQt5教程: https://www.learnpyqt.com/
往期链接:
没想到吧!这个操作系统竟比 macOS 还火
一夜之间火爆 GitHub!这款神秘的通讯软件究竟是什么br>
P7砖家:对不起,我要跑路了!
·················END·················
你好,我是Sitin涛哥,非著名程序员,项目经理,现在创业中。
很开心能够遇到你,欢迎添加我的微信 257735 ,备注来意,一起进步。
文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览91536 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!