下载地址:m.pan38.com/download.ph… 提取码:3332
这个工具可以将微信WXID转换为可扫描的二维码,方便添加好友。程序包含完整的GUI界面和错误处理机制。使用时需要安装qrcode和Pillow库。
import qrcode
import tkinter as tk
from tkinter import filedialog, messagebox
from PIL import Image, ImageTk
import webbrowser
import os
import re
class WXIDQRGenerator:
def __init__(self, master):
self.master = master
master.title("微信WXID转二维码工具 v1.0")
master.geometry("600x500")
# 界面组件
self.label = tk.Label(master, text="输入WXID:", font=("Arial", 12))
self.label.pack(pady=10)
self.entry = tk.Entry(master, width=40, font=("Arial", 12))
self.entry.pack()
self.generate_btn = tk.Button(master, text="生成二维码", command=self.generate_qr, bg="#07C160", fg="white")
self.generate_btn.pack(pady=10)
self.save_btn = tk.Button(master, text="保存二维码", command=self.save_qr, state=tk.DISABLED)
self.save_btn.pack(pady=5)
self.qr_label = tk.Label(master)
self.qr_label.pack(pady=20)
self.status = tk.Label(master, text="", fg="gray")
self.status.pack()
# 变量
self.current_qr = None
self.wxid_pattern = re.compile(r'^[a-zA-Z][a-zA-Z0-9_-]{5,19}$')
def validate_wxid(self, wxid):
return self.wxid_pattern.match(wxid) is not None
def generate_qr(self):
wxid = self.entry.get().strip()
if not wxid:
messagebox.showerror("错误", "请输入WXID")
return
if not self.validate_wxid(wxid):
messagebox.showerror("错误", "无效的WXID格式")
return
qr_content = f"weixin://contacts/profile/{wxid}"
try:
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_H,
box_size=10,
border=4,
)
qr.add_data(qr_content)
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white")
self.current_qr = img
# 显示二维码
img_tk = ImageTk.PhotoImage(img)
self.qr_label.config(image=img_tk)
self.qr_label.image = img_tk
self.save_btn.config(state=tk.NORMAL)
self.status.config(text=f"成功生成 {wxid} 的二维码")
except Exception as e:
messagebox.showerror("错误", f"生成二维码失败: {str(e)}")
def save_qr(self):
if not self.current_qr:
return
file_path = filedialog.asksaveasfilename(
defaultextension=".png",
filetypes=[("PNG 图片", "*.png"), ("JPEG 图片", "*.jpg"), ("所有文件", "*.*")],
title="保存二维码"
)
if file_path:
try:
self.current_qr.save(file_path)
messagebox.showinfo("成功", f"二维码已保存到:\n{file_path}")
except Exception as e:
messagebox.showerror("错误", f"保存失败: {str(e)}")
if __name__ == "__main__":
root = tk.Tk()
app = WXIDQRGenerator(root)
root.mainloop()
# 微信WXID转二维码工具
## 功能
- 将微信WXID转换为可扫描的二维码
- 支持保存二维码图片
- 自动验证WXID格式
## 使用说明
1. 安装依赖: `pip install -r requirements.txt`
2. 运行程序: `python wxid_to_qr.py`
3. 输入有效的WXID
4. 点击"生成二维码"按钮
5. 可点击"保存二维码"保存图片
## WXID格式说明
- 以字母开头
- 可包含字母、数字、下划线和减号
- 长度6-20个字符