赞
踩
下面贴出来python3的源码,有需要的可以自取,我也编译成可执行的程序,放到百度云盘和阿里云盘上,可以自取。
百度云:
https://pan.baidu.com/s/1-s-UwxbGP0nCshOzNMoQdA?pwd=wrp6 提取码: wrp6
阿里云:
提取码: 89xf
源代码:
- import tkinter as tk
- import pyperclip
- from tkinter import filedialog
- import keyboard
- import os
-
-
- # 创建保存剪贴板内容的函数
- def save_clipboard():
- # 获取剪贴板内容
- content = pyperclip.paste()
-
- # 判断剪贴板是否有内容
- if content:
- # 弹出保存对话框,获取保存路径
- file_path = filedialog.asksaveasfilename(defaultextension='.txt')
-
- # 如果有选择保存路径则保存文件
- if file_path:
- with open(file_path, 'w', encoding='utf-8') as f:
- f.write(content)
- print('文件已保存:', file_path)
-
-
- # 创建监听热键的函数
- def hotkey_listener(quit_confirm_flag):
- # 监听快捷键 alt+s,调用保存剪贴板内容的函数
- keyboard.add_hotkey('alt+s', lambda: save_clipboard())
-
- # 监听快捷键 alt+q,弹出提示框
- keyboard.add_hotkey('alt+q', lambda: quit_confirm(quit_confirm_flag))
-
-
- # 创建退出确认弹出框的函数
- def quit_confirm(quit_confirm_flag):
- # 如果 quit_confirm_flag 为 True,则不弹出提示框直接退出
- if quit_confirm_flag:
- # 取消监听热键
- keyboard.unhook_all_hotkeys()
- # 取消tkinter的事件循环
- root.quit()
- # 退出程序
- os._exit(0)
-
- # 创建提示框
- confirmation = tk.Toplevel()
- confirmation.title('确定退出?')
-
- # 创建提示信息
- label = tk.Label(confirmation, text='是否退出程序?')
- label.pack(side='top', padx=20, pady=20)
-
- # 创建复选框
- var = tk.IntVar()
- check_box = tk.Checkbutton(confirmation, text='下次不再提醒,直接退出', variable=var)
- check_box.pack(side='top', padx=20, pady=20)
-
- # 创建确认和取消按钮
- button_confirm = tk.Button(confirmation, text='确认', command=lambda: confirmation_action(var))
- button_confirm.pack(side='left', padx=20, pady=20)
- button_cancel = tk.Button(confirmation, text='取消', command=confirmation.destroy)
- button_cancel.pack(side='right', padx=20, pady=20)
-
-
- # 创建退出确认弹出框的动作函数
- def confirmation_action(var):
- if var.get() == 1:
- # 如果勾选了复选框,则创建一个名为'config'的文件,保存勾选状态
- with open('config', 'w', encoding='utf-8') as f:
- f.write('1')
- # 取消监听热键
- keyboard.unhook_all_hotkeys()
- # 取消tkinter的事件循环
- root.quit()
- # 退出程序
- os._exit(0)
-
-
- if __name__ == '__main__':
- # 判断是否存在'config'文件,如果存在且内容为'1',则弹窗 flag 设置为 False
- quit_confirm_flag = False
- if os.path.exists('config'):
- with open('config', 'r', encoding='utf-8') as f:
- data = f.read()
- if data == '1':
- quit_confirm_flag = True
-
- # 创建窗口
- root = tk.Tk()
- root.title('剪贴板保存工具')
- root.geometry('600x200')
-
- # 创建文本提示信息
- label = tk.Label(root, text='按Alt+S键保存剪贴板内容\n按Alt+Q键或关闭窗口程序退出', font=('微软雅黑', 24))
- label.pack(expand=True)
-
- # 监听热键
- hotkey_listener(quit_confirm_flag)
-
- # 进入消息循环
- root.mainloop()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。