feat: 创建 QRCodeGenerator 项目

- 新增主程序文件 main.py 实现二维码生成功能
- 添加安装环境脚本 安装环境.py 以安装所需第三方库
- 创建 .idea 目录及相关配置文件,设置项目环境和忽略项
This commit is contained in:
sairate 2025-05-24 17:06:00 +08:00
commit 57420fd030
10 changed files with 103 additions and 0 deletions

3
.idea/.gitignore generated vendored Normal file
View File

@ -0,0 +1,3 @@
# 默认忽略的文件
/shelf/
/workspace.xml

10
.idea/QRCodeGenerator.iml generated Normal file
View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/.venv" />
</content>
<orderEntry type="jdk" jdkName="Python 3.10 (QRCodeGenerator)" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@ -0,0 +1,14 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="PyPackageRequirementsInspection" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoredPackages">
<value>
<list size="1">
<item index="0" class="java.lang.String" itemvalue="numpy" />
</list>
</value>
</option>
</inspection_tool>
</profile>
</component>

View File

@ -0,0 +1,6 @@
<component name="InspectionProjectProfileManager">
<settings>
<option name="USE_PROJECT_PROFILE" value="false" />
<version value="1.0" />
</settings>
</component>

10
.idea/material_theme_project_new.xml generated Normal file
View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="MaterialThemeProjectNewConfig">
<option name="metadata">
<MTProjectMetadataState>
<option name="userId" value="6324deb6:19701631a2e:-7fdd" />
</MTProjectMetadataState>
</option>
</component>
</project>

7
.idea/misc.xml generated Normal file
View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Black">
<option name="sdkName" value="Python 3.13" />
</component>
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.10 (QRCodeGenerator)" project-jdk-type="Python SDK" />
</project>

8
.idea/modules.xml generated Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/QRCodeGenerator.iml" filepath="$PROJECT_DIR$/.idea/QRCodeGenerator.iml" />
</modules>
</component>
</project>

38
main.py Normal file
View File

@ -0,0 +1,38 @@
# 编程前,运行【安装第三方库.py】文件安装本课用到的第三方库
import tkinter
from PIL import Image, ImageTk
from tkinter import filedialog
import os
from amzqr import amzqr
w = tkinter.Tk()
w.geometry("400x400")
w.resizable(0,0)
bg_image = Image.open("qrcode_bg.png")
bg_image = ImageTk.PhotoImage(bg_image)
bg_label = tkinter.Label(w, image=bg_image)
bg_label.pack()
t1 = tkinter.Text(w, font=("微软雅黑", 12),width=30,height=5)
t1.place(x=80, y=100)
t2 = tkinter.Text(w, font=("微软雅黑", 12),width=23,height=1)
t2.place(x=80, y=250)
def get_pic():
pic_path = filedialog.askopenfilename()
t2.delete("1.0", "end")
t2.insert("1.0", pic_path)
btn1 = tkinter.Button(w, text="浏览", font=("微软雅黑", 12), command=get_pic)
btn1.place(x=312, y=250, height=25)
def qr():
words = t1.get("1.0","end")
words = "".join(words.split('\n'))
picture = t2.get("1.0", "end")[:-1]
version, level, qr_name = amzqr.run(words=words, picture=picture, colorized=True)
os.system(qr_name)
btn2 = tkinter.Button(w, text="生成二维码", font=("微软雅黑", 15), command=qr)
btn2.place(x=80, y=300, width=250)
w.mainloop()

BIN
qrcode_bg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

7
安装环境.py Normal file
View File

@ -0,0 +1,7 @@
import subprocess
import sys
subprocess.check_call([
sys.executable, "-m", "pip", "install", "amzqr",
"-i", "https://mirrors.aliyun.com/pypi/simple/"
])