首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PySimpleGUI 进阶| 原来用Python做一个图片查看系统,还能这么简单!

系列导读 PySimpleGUI|基础讲解 大家好,在昨天的文章中我们已经介绍了为什么以及如何基本使用PySimpleGUI,并且对一些比较常用的元素(element)也有所了解。...代码中引入os模块对文件夹进行调用,在创建一个垂直方向的元素嵌套列表file_list_column,里面的元素如上图般放置。...在Listbox里面先设置了空的列表值,这是因为第一次打开图形交互页面,由于你没有选择文件夹,所以对应的箱子是空的。...如果参数是视频文件路径,则打开视频 cv2.imencode():这个函数将图片格式转换(编码)成流数据,赋值到内存缓存中;主要用于图像数据格式的压缩,方便网络传输。...随之相应的就是 cv2.imdecode():指从指定的内存缓存中读取数据,并把数据转换(解码)成图像格式;主要用于从网络传输数据中恢复出图像 ” 以上便是本次pySimpleGUI的进阶版内容讲解,当然我们只是基于图片查看系统的讲解

2.7K20

40行代码自己动手写pdf转word小工具(文末附工具下载)

基本思路: 利用PyMuPDF获取页面元素,例如文本和形状及其位置 再利用元素间的相对位置关系推断内容 最后使用python-docx将上一步解析的内容元素重建为docx格式的Word文档 基于以上情况...key是指定健名称,target是选定的文件夹名 sg.Button()设置按钮 sg.Window()是创建窗口,可以带窗口名称等信息 event和values是当执行window.read()函数的返回值...结合之前的pdf转word函数,这里的逻辑如下: 当我们点击开始转化按钮,先判断是否选择了pdf文件,如果是则执行转化函数,否则就提示文件未选择或选择的非pdf文件。 4....进行程序代码打包,操作指令如下: pyinstaller -F -w pdf转word小工具.py 部分参数含义: -F 表示生成单个可执行文件 -w 表示去掉控制台窗口,这在GUI界面非常有用...官方文档]: https://pysimplegui.readthedocs.io/en/latest/ [python简单进阶之GUI:PySimpleGUI使用教程]: https://zhuanlan.zhihu.com

2.2K10
您找到你想要的搜索结果了吗?
是的
没有找到

【云+社区年度征文】PySimpleGUI一个建立在tkinter之上更简单但功能强大的GUI

4.3继续进化 等等,在我们运行上述程序后,会出现一个界面,但是当我们输入两个加数,再点击计算按钮,结果是计算出来了,但是两个加数的输入框却被清空了,那么能不能在运算结束还将两个加数输入框中的数字保留下来呢...6.2文件浏览对话框 我们的日常应用中,经常会要打开或是保存某个文件,在特定的软件中,比如办公软件中,经常要用打开、保存等对话框来供用户来选择文件存放位置,在PySimpleGUI这个工具包中,创建文件对话框是很容易的一件事...9.2一个媒体播放器界面的开发 媒体播放器一般要放置一些图片按钮在界面上,这样会使界面显得更加生动一些,这个例子展示了如何在一个按钮上放置图片的例子,具体代码如下: import PySimpleGUI...的Menu函数将该列表填入即可,当创建窗体,将该Menu语句创建的菜单放置于窗体的第一行,其余就和前面创建窗体的方法一样了。...,在这部分,该包是直接调用Tkinter中有关图形绘制函数的,所以如果直接将PySimpleGUI更换为不同类库PySimpleGUIQt,程序会报错。

4.4K12

GUI实战|Python做一个文档图片提取软件

本文将进一步讲解如何用Python提取PDF与Word中图片,并结合之前讲解过的GUI框架PysimpleGUI,做一个多文件图片提取软件,效果如下: ?...writePNG(os.path.join(pic_path, img_name)) pix0 = None 这是最后一步生成与保存图片 “pix = fitz.Pixmap(doc, i)是生成图像语句...img_name = "img{}.png".format(imgcount)是设置图像名语句,用提取到的图片的序列号作为命名格式。 ” 而后if嵌套try那几行代码是保存图像语句。...第四步创建事件循环,可以看到代码,都是一样的套路:当用户按下submit按钮系统将进行判断你按的是哪个单选按钮,进而进行相对应的事件执行。当你按下cancel或者×,就是退出主程序。...当你按菜单中的注意,就会弹出一个对话框告诉你这个系统怎么用。

1.4K10

圣诞节,教你用Python给微信头像添加一个圣诞帽!

如果你尝试去搜索,会发现网上教程一大堆,但是由于大多数人都将圣诞帽位置固定了,所以放上自己的图片后,要不就是圣诞帽偏移了,要不就是帽子比头还大,代码也不知道在哪里改,无从下手。...本次主要分为两个部分讲解: 用opencv对头像添加圣诞帽 结合PySimpleGUI制作人性化圣诞帽添加软件 ?...“cv2.imread('图像路径','读取方式'):默认为cv2.imread_color以彩色图像模式读取。...这次我们使用常规用的Harr特征器 ” Haar特征分类器就是一个xml文件,是OpenCV官方训练好的检测器,它能反应图像的灰度变化,以像素分模块求差值的一种特征。...最后调节Pillow解析出来的帽子x和y位置,摆到人头上方。所有这个方法对正脸敏感,对侧脸不太友好。 personImg.save('addHat.png')表示存储添加圣诞帽后的照片。

92420

80行代码自己动手写一个表格拆分与合并小工具(文末附工具下载)

另外,在进行表格拆分与合并操作中采用的是第三方库pandas,同时关于gui我们用的是pysimplegui,打包成exe采用的是pyinstaller。...pip install pyinstaller 关于这三个库,大家可以查阅官方文档了解更多: pandas : https://pandas.pydata.org/ pysimplegui:https...,先读取文件内容,然后获取文件数据的表头,从而刷新( window["-keys-"].Update)拆分字段的下拉框为表头内容; 当我们点击开始拆分按钮,需要判断拆分字段是否选取(默认为空),若有选定字段则进行拆分操作...,否则会进行错误操作提示; 当我们点击开始合并按钮,需要判断是否选定了文件夹,若是则调用合并数据函数进行合并操作,否则会进行错误操作提示。...pyinstaller进行程序代码打包,操作指令如下: pyinstaller -F -w 表格拆分合并工具.py 部分参数含义: -F 表示生成单个可执行文件 -w 表示去掉控制台窗口,这在GUI界面非常有用

1.2K40

好看又好用的 GUI,你需要这七个 Python 必备库,

所以开发一个图像化的小窗口,就变得很有必要。 今天,给大家介绍七个Python必备的GUI库,每一个都值得学习。 PyQt5 PyQt5由Riverbank Computing开发。...BUTTON.grid(row=5, column=0, sticky=W)     BUTTON.place(x=115, y=250)     TOP.mainloop() 界面如下: 当没有数据,...PySimpleGUI也是基于Python的GUI框架,可以轻松制作自定义的GUI,采用了四种最流行的GUI框架QT、Tkinter、WxPython和Remi,能够实现大多数样例代码,降低了学习难度...# 安装PySimpleGUI pip install -i https://pypi.tuna.tsinghua.edu.cn/simple PySimpleGUI 下面是一个简单的案例: import... PySimpleGUI as sg layout = [[sg.Text("测试 PySimpleGUI")], [sg.Button("OK")]] window = sg.Window("样例"

3.1K30

深入浅出 ARCore

您可以将虚拟对象锚定到这些可追踪的对象上,以确保在设备移动,虚拟对象和可跟踪对象之间保持稳定的关系。...这就好像您在桌面上放置一个虚拟的花瓶,如果ARCore稍后调整与桌面相关的姿势,那么花瓶仍然会保持在桌面上。...为了保持物理空间的固定位置,这个位置的数字描述信息将随着ARCore对空间的理解的不断改进而更新。...随着ARCore对环境的了解不断变化,它将调整坐标系模式以便与真实世界保持一致。 这时,Camera和锚点的位置(坐标)可能会发生明显的变化,以便它们所代表的物体处理恰当的位置。...命中检测与渲染 命中检测 当我们要向背景绘制虚拟物品,首先要进行命中检测。代码如下: MotionEvent tap = mQueuedSingleTaps.poll(); if (tap !

3.6K10

图片和文字展示也有是坐标系的呦!

图片和文字渲染坐标问题揭秘 当我们在画布canvas上渲染图片和文字水印,一般会有x坐标、y坐标、大小等相关参数,它们是怎么使用的呢?...canvas渲染图片相关的参数可以参考下面的表格: 参数 描述 img 规定要使用的图像、画布或视频。 sx 可选。开始剪切的 x 坐标位置。 sy 可选。开始剪切的 y 坐标位置。...被剪切图像的宽度。 sheight 可选。被剪切图像的高度。 x 在画布上放置图像的 x 坐标位置。 y 在画布上放置图像的 y 坐标位置。 width 可选。要使用的图像的宽度。...(伸展或缩小图像) 先来看一张图片水印的效果图,我们在左上角(10,10)的位置放了一个宽和高都是50像素的logo图片,如下图所示: ?...好了,我们再进一步验证上面的结论,我们保持文字和图片水印的位置不变,把文字大小从10px增大到50px,图片宽高从50px增大到100px。

81110

【CSS】1287- 一行 CSS 实现 10 种强大的布局

通过使用 Flexbox 实现此效果,您不需要在屏幕尺寸发生变化时通过媒体查询来调整这些元素的位置。...对于这些卡片,它们被放置在 Flexbox 显示模式中,使用 flex-direction: column 将方向设置为 column。 这会将标题、描述和图像块放在父卡片内的垂直列中。...然后,应用 justify-content: space-between 将第一个(标题)和最后一个(图像块)元素锚定到 flexbox 的边缘,并且它们之间的描述性文本以相等的间距放置到每个端点。...您可以看到,当我拉伸和收缩父尺寸,这张卡片的宽度会增加到其最大限制点并减小到其限制最小点。然后它保持在父级的中心,因为我们已经应用了其他的属性来将它居中。...这只是简单地保持图像的宽高比。 使用 aspect-ratio 属性,当我调整卡片大小时,绿色视觉块保持 16 x 9 的宽高比。我们通过 aspect-ratio: 16 / 9 保持此宽高比。

4.6K20

15. 电影中成千上万的群众演员是怎么来的?

,哪些保持不变。...当我们不断按照这个规则加入新Patch,就会使得生成的图片的缝隙越来越不明显,直到代价收敛: ? ?...,简单说就是将整个输入图像(B)经过随机的平移放置到输出图像(A)上,再从中用Graph-Cuts原理进行输入图像和输出图像之间的拼合。...2)Entire Patch Matching,这个方法需要遍历所有可能的平移量,并从中找出与已有输出图像最匹配的一个位置。”...这样当我们无限循环播放此视频,看起来就似乎视频没有终止一样。 例如下面这个视频: ? 关于视频的拼接合成,作者论文里面还有一些精彩的例子,大家感兴趣可以自行阅读原论文。

59320

用OpenCV玩《铁拳》!!!

这将非常忙碌,并且为了概括起见,我们还需要不同大小,背景和光照条件不同的人的图像。这可能会花费很多时间。...因此,为了在游戏中移动而使用的逻辑是: 当我们前进一定的门槛,玩家也将开始前进,反之亦然。 我们存储一条穿过脸部中心的水平线。如果我们跳跃并越过中心线一个阈值,则玩家也会跳跃。...同样,当我们走到线下,玩家将蹲下。 Setup.ipynb-> 在此笔记本中,我们将定义人类玩家开始的初始位置。因此,将通过跟踪算法从该位置跟踪他。首先,设置相机并将其放置在固定位置。...然后,我们将只跟踪面部来跟踪人类玩家在游戏中的位置,因此执行“面部”框单元格,然后: 从开始的位置做准备。 计时器结束后,在脸部周围放置一个bbox。...保持脸部收件箱为准,并进行操作(例如踢)。然后在您要分配用于踢脚动作的区域周围打一个方框。 要保存以供以后使用,请复制打印的输出并将其粘贴到Switch.py上。 请注意,开关0将映射到操作键0。

40730

Material Design — App bars: topApp bars: top

原则 ·始终保持 Top app bar 出现在 app 中每个屏幕的顶部,并且可以在滚动消失。 ·引导 Top app bars 提供了一种可靠的方式来引导用户浏览 app。...·将 overflow menu(如果使用)放在最右侧 对于从右向左的语言顺序,应该翻转放置位置。...Icon 的位置 将最常用的操作放在左侧,越往右放置越少用的操作。 任何不适合 app bar 的其余操作都可能会进入 overflow menu。...任何剩余的或次要的动作都应放置在 overflow menu 中(3) ---- 行为 滚动 滚动,e top app bar 可保留原位,或以下列方式转换: ·向上滚动隐藏 top app bar...在滚动,它们会增加海拔并让内容在它们后面滚动 ? 当向上滚动,使用带有图像的 prominent top app bars 可以转换为正常的 top app bars。

2.2K60

666,用 OpenCV 玩《铁拳》

这将非常忙碌,并且为了概括起见,我们还需要不同大小,背景和光照条件不同的人的图像。这可能会花费很多时间。...因此,为了在游戏中移动而使用的逻辑是: 当我们前进一定的门槛,玩家也将开始前进,反之亦然。 我们存储一条穿过脸部中心的水平线。如果我们跳跃并越过中心线一个阈值,则玩家也会跳跃。...同样,当我们走到线下,玩家将蹲下。  Setup.ipynb  在此笔记本中,我们将定义人类玩家开始的初始位置。因此,将通过跟踪算法从该位置跟踪他。首先,设置相机并将其放置在固定位置。...然后,我们将只跟踪面部来跟踪人类玩家在游戏中的位置,因此执行“面部”框单元格,然后: 从开始的位置做准备。 计时器结束后,在脸部周围放置一个bbox。...保持脸部收件箱为准,并进行操作(例如踢)。然后在您要分配用于踢脚动作的区域周围打一个方框。 要保存以供以后使用,请复制打印的输出并将其粘贴到Switch.py上。 请注意,开关0将映射到操作键0。

24210

掌握这4 个关键的 CSS 属性,你才算入门 CSS

block:CSS 中的块级元素,它占用尽可能多的空间,但它们不能放置在同一水平线上。开发人员主要使用块级元素来简化布局过程,因为他们能够改变他们选择的元素的宽度和高度。...inline:这是默认值,如果没有指定任何其他显示值,元素可以并排放置在与内联元素相同的水平线上。...background-image:将图像应用为背景,并使用路径 URI 或 URL 来访问图像资源。...例如; 当子元素被定位为absolute,我们可以通过top、left、bottom值来控制它在整个body元素中的位置。你可以将其称为独立子元素,其中 body 元素是父元素。...但是,当我们为父元素(蓝色容器)提供相对位置,所有具有绝对位置的元素都将落入新的父元素之下。 你可以观察到,当我们将相对位置值传递给父元素,子元素的高度现在是相对于父元素的。 本文完~

1.9K30

Unity - 在鼠标点击的位置放置对象

目录: 1.基本信息 2.示例工程 3.脚本 目标 这篇博客的主要目标是告诉你使用鼠标点击的位置拾取或放置对象的做法。 你最终会得到下面的效果: ?...我们将会使用鼠标的位置把对象放置到世界坐标的位置。可以使用下面的函数来获得鼠标的位置:Input.mousePosition,这个函数返回了以像素的为单位的位置。所以我们需要把它转换成世界坐标的位置。...现在我们可以使用这个位置把对象放置在鼠标点击的地方。现在通过使用这个函数,我们会创建一个简短的演示程序。...你也可以创建一个画布和一个面板组件然后设置任意的图像作为背景。(可选) 当然,图像也可以用作目标对象。为此,我们需要转换图片为 2D 精灵,然后在场景中我们可以使用该图像作为一个游戏对象。...在把对象放置在空间上保持按住鼠标左键按下移动对象的位置。 原文作者:Charmi Popat 原文链接

5.1K20
领券