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

PySimpleGui如何在画布中作图而不在单独窗口中显示

PySimpleGUI是一个Python的GUI库,它提供了简单且易于使用的接口来创建图形用户界面。在PySimpleGUI中,可以使用Canvas元素来创建一个画布,并在画布上绘制图形,而不需要在单独的窗口中显示。

要在画布中作图,首先需要导入PySimpleGUI库:

代码语言:txt
复制
import PySimpleGUI as sg

然后,可以创建一个窗口,并在窗口中添加一个Canvas元素:

代码语言:txt
复制
layout = [[sg.Canvas(size=(400, 400), key='-CANVAS-')]]
window = sg.Window('Canvas Example', layout, finalize=True)

接下来,可以通过获取Canvas元素的绘图上下文来进行绘图操作:

代码语言:txt
复制
canvas = window['-CANVAS-'].TKCanvas

使用绘图上下文,可以使用各种绘图函数来在画布上作图。例如,可以使用create_line函数绘制一条直线:

代码语言:txt
复制
canvas.create_line(0, 0, 200, 200)

完成绘图后,可以通过调用窗口的read方法来更新窗口并显示画布中的图形:

代码语言:txt
复制
window.read()

完整的示例代码如下:

代码语言:txt
复制
import PySimpleGUI as sg

layout = [[sg.Canvas(size=(400, 400), key='-CANVAS-')]]
window = sg.Window('Canvas Example', layout, finalize=True)

canvas = window['-CANVAS-'].TKCanvas
canvas.create_line(0, 0, 200, 200)

window.read()

这样,就可以在画布中作图而不在单独窗口中显示了。

关于PySimpleGUI的更多信息和使用方法,可以参考腾讯云的相关产品和产品介绍链接地址(链接地址待补充)。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

然而,在计算机的发展史上,终于还是出现了界面,发展至今,从个人电脑到手机,从各种各样的测试台到所有智能设备,用户操作界面无处不在,优秀的界面不但承载着人类方便的命令输入,也从最初的展示收集部件发展到现在的动态...,每一个子列表即代表每一行的控件组,子列表的排列顺序恰恰就是界面从上到下的排列顺序,其中每个子列表控件排列顺序即是每行从左到右的排列顺序。...5.4小结 从上面两个小例子可以看出,当你给程序的控件指定了关键字标识时,界面对用户行为的返回值是以字典(dict)的形式给出,当用户不加任何key关键字时,界面对于用户行为的返回值是列表(list...9.2一个媒体播放器界面的开发 媒体播放器一般要放置一些图片按钮在界面上,这样会使界面显得更加生动一些,这个例子展示了如何在一个按钮上放置图片的例子,具体代码如下: import PySimpleGUI...12.3Graph的使用 在图形绘制时,还可以使用另一个函数即Graph,这个函数本身就创建一个画布,在该画布上也可以绘制各种图形,下面这段代码演示了如何用该函数来创建图形,有兴趣的读者可以对两者进行比较

4.7K12

聊聊SurfaceView和TextureView

SurfaceView自带一个Surface,这个Surface在WMS中有自己对应的WindowState,在SurfaceFlinger也会有自己的Layer。...缺点:因为这个Surface不在View hierachy,它的显示也不受View的属性控制,所以不能进行平移,缩放等变换,也不能放在其它ViewGroup,一些View的特性也无法使用。...和SurfaceView不同,不在WMS单独创建窗口,而是作为View hierachy的一个普通view,因此可以和其他普通View一样进行移动,旋转,缩放,动画等变化。...和SurfaceView不同,TextureView必须在硬件加速的窗口中。 它显示的内容流数据可以来自Application进程或是远端进程。...优点:支持移动、旋转、缩放等动画,支持截图 缺点:必须在硬件加速的窗口中使用,占用内存比SurfaceView高,在5.0以前在主线程渲染,5.0以后有单独的渲染线程。

4.2K21
  • 1分钟快速生成可视化图:Power BI

    “可视化效果”格 -根据需要选择不同的图形。 6.“字段”格 - 显示表格字段 接下来通过一个例子,让我们快速用数据做出可视化报表,体验一把Power BI。...加载完后,表格的所有字段都会显示在“字段”栏 上面操纵步骤的动态演示如下: (2)建立图表 先选中自己想要的图表类型,点击后就会出现在画布上(下图剪头那里)。 再选中作图需要的数据。...画布上就会出现图形,长按图形边框角可放大缩小图形,鼠标移到图形,会显示图形数据。 上面操纵步骤的动态演示如下: (3)调整格式 在可视化下面点击“格式”,可调整图形格式,颜色,大小,标题等。...Excel的Power Query功能是查询,Power Pivot是超级透视。...(2)Power Pivot Excel数据透视表,英文名是Pivot Table,Power Pivot可以被翻译成数据建模,功能要比数据透视表强大很多。

    2.2K10

    1分钟快速生成可视化图:Power BI

    “可视化效果”格 -根据需要选择不同的图形。 6.“字段”格 - 显示表格字段 接下来通过一个例子,让我们快速用数据做出可视化报表,体验一把Power BI。...image.png 加载完后,表格的所有字段都会显示在“字段”栏 image.png 上面操纵步骤的动态演示如下: (2)建立图表 先选中自己想要的图表类型,点击后就会出现在画布上(下图剪头那里...image.png 画布上就会出现图形,长按图形边框角可放大缩小图形,鼠标移到图形,会显示图形数据。...Excel的Power Query功能是查询,Power Pivot是超级透视。...(2)Power Pivot Excel数据透视表,英文名是Pivot Table,Power Pivot可以被翻译成数据建模,功能要比数据透视表强大很多。

    2.5K2017

    SurfaceView 与 TextureView 详解

    每次实际显示的是frontCanvas,backCanvas存储的是上一次更改前的视图,当使用lockCanvas()获取画布时,得到的实际上是backCanvas不是正在显示的frontCanvas...但是这也有缺点,因为这个Surface不在View hierachy,它的显示也不受View的属性控制,所以不能进行平移、缩放等动画,它也不能放在其它ViewGroup,SurfaceView不能嵌套使用...TextureView 因为上面所说的SurfaceView不在主窗口中,它没法做动画没法使用一些View的特性方法,所以在Android 4.0引入了TextureView,它是一个结合了View和...但是TextureView必须在硬件加速的窗口中,它显示的内容流数据可以来自App进程或者远程进程。...它的渲染可以放在单独线程不是主线程。其缺点是不能做变形和动画。SurfaceTexture可以用作非直接输出的内容流,这样就提供二次处理的机会。

    12.9K60

    十个顶级Python 图形界面(GUI)框架供你选择

    用户界面通常包括许多视觉元素,如图标、按钮、图形、显示文本和其他几种输入形式,复选框、文本输入框等。 所有这些元素的结合构成了你的应用程序或网站的用户体验的重要部分。...下面列出了一些视觉元素: ●Frame:为你的应用程序提供一个结构 ●按钮:用于获取用户的输入 ●复选按钮:用于进行选择 ●标签:用于显示文本信息 ●文件对话框:用于在应用程序中上传或下载文件 ●画布:...有了Kivy,界面设计师可以编写一次代码并部署到多个平台,内置的OpenGL ES 2支持允许他们使用现代和强大的图形和设计技术。...libavg支持大多数常用的触摸驱动程序,并提供一系列功能,摄像头支持,文本对齐,动画支持,GPU效果,模糊,阴影,等等。...安装是通过“pip install pyforms”命令来处理的,该命令会添加所有这三个库,或者如果您想单独使用这些库,也可以这样做。 8. Wax 还记得我们前面讨论过的wxPython框架吗?

    15.9K11

    教程合集 | MATLAB绘图基本操作与属性

    输入 figure; 就会生成一个最基本的图: ? MATLAB里,图的含义类似于画布,在一个图里绘制图形,即在同一张画布上绘图,保存结果后,将出现一张图。...如果想分别绘制多张图,则需要生成多个图分别绘制。 那么图中每个按钮又分别是什么意思呢?...当选择坐标轴时,属性编辑器将显示: 因此可直接对坐标轴的各项属性进行设置。 ? 当选择图中的数据时,其属性编辑器显示为: ?...在实际绘图中,一张图可能会有好几个子图,这时axes表示生成的各个小图,figure则是绘制各图的大画布。也就是说: ?...m_map工具箱的大部分同类型图形绘制的函数与上述列表里的名称相同,不同的只是名称前需要加上m_调用。plot函数在m_map工具箱里的调用方法即为m_plot。

    4.7K40

    PowerBI x Python 之关联分析(上)

    关于Power BI如何做关联分析,网上已经有不少文章(马老师之前的推文,以以及power bi星球等等),其中的核心是合并及userelationship。...所以本文介绍如何在PowerBI里借助Python快速求出频繁项集(关联度较大的组合)。...首先选取Py可视化控件,拖动到画布上,然后再选中所需的字段,结果如下: 在Power Bi的下方出现了一个新的窗口(编辑器)。...接下来,即可在编辑器编辑代码。只要本地安装了库,都可以导入。该控件要求代码最后必须显示图表,否则会提示出错。 Python进行关联分析有几个好用的库。...不足的地方主要在于Python作图的风格与Power BI的整体风格不一致,而且调整难度比较大。而且只能被动联动,不能主动联动。下一篇将介绍PQ的方法,能更好地克服控件法的这些不足。

    1.2K21

    悬浮开发设计实践

    市面上常见的悬浮微信视频通话功能,有如下特点:整屏页面能切换到一个小的悬浮;悬浮能运行在其他app上方;悬浮能跳回整屏页面,并且悬浮消失需求悬浮效果点击缩小按钮,将当前远端视屏加载进悬浮...Android显示系统分为3层UI框架层:负责管理窗口中View组件的布局与绘制以及响应用户输入事件WindowManagerService层:负责管理窗口Surface的布局与次序SurfaceFlinger...Window抽象类对WindowManager.LayoutParams相关的属性(:输入法模式、屏幕方向)都提供了具体的方法。...Window本身就只是一个抽象的概念,View是Window的表现形式。...Android 8.0对系统和API行为做了修改,包括使用SYSTEM_ALERT_WINDOW权限的应用无法再使用一下窗口类型来在其他应用和窗口上方显示提醒窗口:如果需要实现在其他应用和窗口上方显示提醒窗口

    2.4K40

    IntelliJ IDEA 2021.2 ,您完全不需要鼠标的 10 种情况

    在 IntelliJ IDEA 上,您是不是更喜欢使用键盘不是鼠标?如果答案是肯定的,那接下来的内容正好适合您!在这篇文章,我们将向您展示 10 个不必在日常任务中使用鼠标的位置。 1....显示工具窗口 我们先来看看开发者们大多是如何在 IntelliJ IDEA 显示工具窗口的。...此外,如果您位于对话框的可编辑组件(文本字段或文本区域),则此快捷键将不起作用。 10. 在不移动光标位置的情况下滚动编辑器的文本 常见的做法是向上或向下滚动编辑器格来阅读代码。...在编辑器格中使用 Ctrl+Up 或 Ctrl+Down(或 ⌘Up/⌘Down),即可进行滚动不更改光标位置。...额外提示: 为了便于阅读代码和在编辑器格中上下移动,您可以折叠方法、代码块或导入语句集,使其在编辑器窗口中仅占用少量空间。

    10310

    腾讯文档Doc Canvas渲染引擎流程改造

    图片2.1.2 离屏canvas drawImage三宗罪上述滚动场景的渲染流程,本意是通过drawImage将已经渲染的canvas画布作图片来复用,从而节省掉多余的基础渲染流程:不需要重复执行遍历...另外,渲染层仅仅使用两个canvas画布(主内容和overlay)对整个文档进行渲染展示,canvas画布尺寸和脏区大小一一对应,canvas画布尺寸和canvas渲染耗时是正相关的:图片所以渲染脏区越大...主要体验在两方面:canvas画布尺寸大,渲染耗时高渲染的内容多,遍历收集开销更高,特别对于一些嵌套层级可能较深的LayoutBox(:表格)影响会更大3....,严重影响渲染性能放大页面,可视区域覆盖的分页数量减少,此时为了尽可能dom复用,可以保留不在可视区域的分页视图dom;但会导致放大后的分页对应canvas画布过大(如上述2.1.2的描述,在iOS移动端过大的...(注:设置width和height为0进行回收的方式,在chrome可以正常回收显存;且在safari进行测试也是能正常回收,但safari devtools显示内存一直占用,此点尚且存疑)增加canvas

    4.8K130

    XcodeXcode 9 的全新功能您会喜欢的工具。内建 Interface BuilderXcode IDE

    Open Quickly 等使用索引的任务都将显著提速。大型项目搜索将变得惊人地迅速 — 比起以往,最快可达 50 倍之多。新的构建系统更大大降低了协调编译器、链接器和其他工具的任务开销。...image Interface Builder Interface Builder 设计画布完全集成在 Xcode IDE ,可以轻松呈现完整用户界面的原型,而无需编写任何代码。...使用 Assistant 编辑器,您可以使用实现源代码并行操作图形设计。只需用鼠标将 UI 控件拖入源格,即可创建代码与界面之间的关联,甚至可以为您创建代码存根。了解详情 ?...版本编辑器拆分格,以显示同一文件的两个不同版本。当您查看拆分编辑器视图的时间线时,差异会突出显示。...Assistant Editor “助理”按钮将编辑器分为两部分,创建了一个辅助格,它会根据您当前编辑的代码自动显示对您最有帮助的文件。

    8.3K30

    UML——九种图和几大关系

    一个用例图包含了多个模型元素,系统、参与者和用例,并且显示了这些元素之间的各种关系,关联、依赖和泛化。...与类图极为相似,它是类图的实例,对象图显示类的多个对象实例,不是实际的类。它描述的不是类之间的关系,而是对象之间的关系。...序列图是用来显示你的参与者如何以一系列顺序的步骤与系统的对象交互的模型。顺序图可以用来展示对象之间是如何进行交互的。顺序图将显示的重点放在消息序列上,即强调消息是如何在对象之间被发送和接收的。...图例: 7.协作图 和序列图作用相同,强调时间和序列顺序选择顺序图,强调对象之间的关系选择协作图。 和序列图相似,显示对象间的动态合作关系。...4.聚合 【聚合关系】:是整体与部分的关系,且部分可以离开整体单独存在。

    2.6K10

    C# WPF中用ChartControl绘制柱形图

    第1课所述,将ChartControl组件添加到项目中(请参见步骤1)。 调用图表控件的智能标记菜单或快速操作。选择运行设计器链接: 这将调用图表设计器。...将Series 添加到图表 在本节,将第二个系列添加到图表,并用点填充这两个系列。 在树中选择系列1,然后在“选项”选项卡,指定“填充”作为系列的显示名称。...#在单独显示系列 以下步骤显示何在单独显示每个系列: 展开“格”项。单击“其他格”项目的“添加”按钮以创建新格。 在“图元”树中选择面积系列。...在选项选项卡,找到格选项,并在其下拉列表中选择格#1项。 添加次轴 按照以下步骤添加和自定义次轴: 展开“轴”项目。单击次Y轴项目的“添加”按钮以添加次Y轴。 选择面积系列。...在“选项”选项卡,使用选项的下拉列表将“Y轴”选项设置为次轴Y#1。 在“图元”树中选择次轴Y#1。然后,将轴的对齐选项设置为“近”。 下图显示了结果。

    2.8K10

    UML图的依赖、关联、聚合、组合关系(突击软考)

    聚合 父类包含子类,但子类可单独运行是聚合,关系强度小于组合。 组合 父类拥有子类,子类不能独立运行,关系强度高。...一个用例图包含了多个模型元素,系统、参与者和用例,并且显示了这些元素之间的各种关系,泛化、关联和依赖。 2、类图     类图是描述系统的类,以及各个类之间的关系的静态视图。...3、对象图     与类图极为相似,它是类图的实例,对象图显示类的多个对象实例,不是实际的类。它描述的不是类之间的关系,而是对象之间的关系。...能够演示出系统哪些地方存在功能,以及这些功能和系统其他组件的功能如何共同满足前面使用用例图建模的商务需求。 5、状态图     描述类的对象所有可能的状态,以及事件发生时状态的转移条件。...顺序图将显示的重点放在消息序列上,即强调消息是如何在对象之间被发送和接收的。 7、协作图     和序列图相似,显示对象间的动态合作关系。

    94610

    JavaScript d3使用指南

    何在项目中使用d3: 如果是要在网站上使用d3效果的话,那么可以直接在script引用官方直接给的网络库 (这个script可以单独成行) 官网:https://d3js.org/ 2. d3基本思想 d3是基于选择数据和绑定数据进行工作的。...return "这是我" + (i+1) + d; }) 说明: 将str与p中所有的数据绑定 2.通过无名函数function进行访问,其中i代表索引编号,d...制作简单的图表 首先我们需要明确一下制作图标的思路: 生成svg画布 使用d3的rect元素对svg进行赋值,即各类参数 在完成赋值之前,需要我们自己去设计数据,让d3进行数据转化,从而赋值给svg。...发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    1.7K40

    tmux 使用教程

    有时我们希望我们运行的服务npm run dev 或者一些cd命令等,被保留,不是关闭窗口再打开后,重新手动执行。tmux的主要用途就在于此。 tmux 解绑了会话和终端窗口。...以下命令都是在 Tmux 窗口中执行。 划分格 tmux split-window命令用来划分格。...将当前窗格置于新窗口;即新建一个窗口,其中仅包含当前窗格 Ctrl+方向键 以1个单元格为单位移动边缘以调整当前窗格大小 Alt+方向键 以5个单元格为单位移动边缘以调整当前窗格大小 Space 在预置的格布局循环切换...;依次包括even-horizontal、even-vertical、main-horizontal、main-vertical、tiled q 显示格编号 o 在当前窗口中选择下一格...Ctrl+o 顺时针旋转当前窗口的格,所有格向前移动一个位置,第一个格变成最后一个格 ; 光标切换到上一个格 o 光标切换到下一个格 z 当前窗格全屏显示,再使用一次会变回原来大小

    3.7K31

    ArcGIS Pro2D和3D模式下绘制地图

    您之前所见,Description 字段包含了一个用于说明该地标重要性的段落。这些说明可能会很长,所以您将进行粘贴不是输入。...显示 3D 模式下的 Landmarks 图层 您倾斜场景时所见,Landmarks 图层显示为 2D 图层,其图钉符号在地面上呈平面状态。...3.在栅格转面工具,对于输入栅格,单击浏览按钮。 由于洪水栅格不在 Map_3D 内容,因此您将浏览至包含栅格数据的文件夹,而非从列表中进行选择。...添加圣马可广场的 3D 模型 虽然规则包的符号系统适用于威尼斯的大部分建筑物,但是圣马可广场的著名建筑(威尼斯总督府和圣马可大教堂)可以通过能够捕获其独特构造的精细符号获得更好的显示效果。...14.在地图选项卡的选择组,单击选择选项按钮。 随即显示的选项窗口将打开至选择选项卡。 15.在选项窗口中,对于选择合并模式,选择从当前选择内容移除。

    17110

    ArcGIS Pro定位器地图制作心得

    在元素,在显示选项卡上,将边框更改为0 pt。...id=9d87b96d48714e7ca9c89ab63f2c3cd7 使用屏幕混合模式将浅灰色画布底图变为粉红色。 使用颜色混合模式制作黑白版本的影像底图。...这是一个在AOI不是底图上使用混合模式的示例: 下面是一个示例,其中底图和AOI都受益于混合模式: 尝试不同的投影。 定位器地图并不是必须要使用与地图相同的坐标系。...打开创建要素格。(在功能区上,单击编辑选项卡,然后单击创建按钮。) 在创建要素,单击多边形注释,然后单击矩形工具。 在布局上,绘制一个覆盖整个地图的矩形。 保存您的编辑。清除选择。...提示:在上面的示例,我使用重塑地图框工具将地图框重塑为圆形。 例子: 如果您想查看我在本文中分享的任何地图示例并进一步探索它们是如何在 ArcGIS Pro 制作的,您可以下载此工程包。

    3K30
    领券