[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

【超过500家企业部署】AWS搭建、运维、监控服务

【超过500家企业部署】AWS搭建、运维、监控服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

[仅适用于 WordPress] 云服务器“Web Speed”

[仅适用于 WordPress] 云服务器“Web Speed”

[便宜]网站安全自动诊断“快速扫描仪”

[便宜]网站安全自动诊断“快速扫描仪”

[预约系统开发] EDISONE定制开发服务

[预约系统开发] EDISONE定制开发服务

[注册100个URL 0日元] 网站监控服务“Appmill”

[注册100个URL 0日元] 网站监控服务“Appmill”

【兼容200多个国家】全球eSIM“超越SIM”

【兼容200多个国家】全球eSIM“超越SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

【全球专属服务】Beyond北美及中国MSP

【全球专属服务】Beyond北美及中国MSP

[YouTube]超越官方频道“美由丸频道”

[YouTube]超越官方频道“美由丸频道”

使用Python库“TKEAsyGUI”创建一个简单的绘图应用程序

您好,
感兴趣且好奇,
我是来自 Volatile 系统解决方案部门的 Kawaii。

今年已经是12月了。
有一天,我正在研究一个TKEasyGUI,我听说可以轻松创建桌面应用程序,所以我决定创建一个绘图应用程序。

什么是 TKEasyGUI?

它似乎是为了响应
PySimpleGUI欲了解更多信息: https

准备

现在,让我们安装它并使用它。

■验证环境

Ubuntu 24.04 LTS Python 3.12.3

这次我们将使用 venv。你可以在这个领域做任何你想做的事。

$ python3 -m venv env $ 源 env/bin/activate

还需要 TKEasyGUI 和 tkinter,因此请安装它们。

(env)$ pip install TKEasyGUI (env)$ sudo apt install python3-tk

这就是您需要准备的全部内容。这非常简单。

尝试示例应用程序

现在,让我们运行 github 上发布的示例应用程序。
>> “如何使用-弹出对话框”

import TkEasyGUI as 例如 name = eg.input("你叫什么名字?") eg.print(f"你好,{name}.")

 

(env)$ python3 Question.py 

系统会询问您的姓名,因此请输入。

他们会向你打招呼。

这很容易,因为除了导入之外,您只需要编写两个文档。
接下来,让我们创建一个简单的绘图应用程序。

绘图应用程序.py

现在一切都很好,所以我可以将其保存为 PNG,轻松绘制并选择颜色。
以下Canvas元素可用于描绘。
https://github.com/kujirahand/tkeasygui-python/blob/main/docs/TkEasyGUI/widgets-py.md#canvas

下面的完整代码
,​​如果你想运行它,请尝试运行它。

import TkEasyGUI as eg from tkinter import filedialog, colorchooser from PIL import Image, ImageDraw # 绘图设置 Drawing_color = "black" # 初始颜色 last_x, last_y = None, None # 记录最后位置 # 文件保存函数 def save_canvas_as_image(): file_path = filedialog .asksaveas文件名(默认扩展名=“.png”, filetypes=[("PNG文件", "*.png")]) if file_path: canvas_image.save(file_path) eg.popup("保存完成", "图像已保存。") # 颜色选择函数 def Choose_color():全局 Drawing_color color_code = colorchooser.askcolor(title="选择颜色") if color_code: Drawing_color = color_code[1] #获取所选颜色的十六进制代码 # 绘制函数 def start_draw(event): global last_x, last_y last_x, last_y = event.x, event.y def draw(event): global last_x, last_y x, y = event .x, event.y if last_x is not None and last_y is not None: # 在画布上画一条线 canvas.get().create_line(last_x, last_y, x, y, fill=drawing_color, width=2) # 同时在 PIL 图像上绘制 draw_on_image.line([last_x, last_y, x, y], fill=drawing_color, width=2) last_x, last_y = x, y # 清除函数 def clear_canvas (): canvas.clear() 在图像上绘制.矩形((0, 0, 400, 400), fill="white") # 同时重置图像 # 布局定义layout = [ [eg.Text("Drawing app")], [eg.Canvas(key="-CANVAS-", size=(400, 400), background_color="white")], [eg.Button("更改颜色", key="-COLOR-"), eg.Button("清除"), eg.Button("保存"), eg.Button("End")] ] # 创建PIL图像并获取绘图对象 canvas_image = Image.new("RGB", (400, 400), "white") draw_on_image = ImageDraw.Draw(canvas_image) # 创建一个带有eg.Window("Drawing app",layout)作为窗口的窗口: canvas = window["-CANVAS-"] # 绑定鼠标事件画布.get().bind("<Button-1> ", start_draw) canvas.get().bind("<B1-Motion> ", draw) # event的事件循环,window.event_iter()中的值: if event == "-COLOR-": Choose_color() elif event == "Clear":clear_canvas() elif event == "Save ": save_canvas_as_image() elif event == "End" 或事件为 None: break

我会尝试启动它。

(env)$ python oekaki.py 

一块白色的画布被展示出来。

我会尝试画一只猫。

我会尝试保存它。

您还可以更改颜色。

看起来不错,

有时间我会再尝试做一次。那么好吧。

完全的

如果您觉得这篇文章有帮助,请点赞!
7
加载中...
7 票,平均:1.00 / 17
202
X Facebook 哈特纳书签 口袋
[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

写这篇文章的人

关于作者

川健

属于系统解决方案部的
好奇的 Poke○n