微信wxid二维码生成器,微信wxid转换二维码加好友,wxid加好友工具

7 阅读1分钟

下载地址: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个字符