当前位置:   article > 正文

剪贴板保存成文件工具_def save_clipboard_as(var):

def save_clipboard_as(var):

 下面贴出来python3的源码,有需要的可以自取,我也编译成可执行的程序,放到百度云盘和阿里云盘上,可以自取。

百度云:

https://pan.baidu.com/s/1-s-UwxbGP0nCshOzNMoQdA?pwd=wrp6 提取码: wrp6

阿里云:

阿里云盘分享

提取码: 89xf

源代码:

  1. import tkinter as tk
  2. import pyperclip
  3. from tkinter import filedialog
  4. import keyboard
  5. import os
  6. # 创建保存剪贴板内容的函数
  7. def save_clipboard():
  8. # 获取剪贴板内容
  9. content = pyperclip.paste()
  10. # 判断剪贴板是否有内容
  11. if content:
  12. # 弹出保存对话框,获取保存路径
  13. file_path = filedialog.asksaveasfilename(defaultextension='.txt')
  14. # 如果有选择保存路径则保存文件
  15. if file_path:
  16. with open(file_path, 'w', encoding='utf-8') as f:
  17. f.write(content)
  18. print('文件已保存:', file_path)
  19. # 创建监听热键的函数
  20. def hotkey_listener(quit_confirm_flag):
  21. # 监听快捷键 alt+s,调用保存剪贴板内容的函数
  22. keyboard.add_hotkey('alt+s', lambda: save_clipboard())
  23. # 监听快捷键 alt+q,弹出提示框
  24. keyboard.add_hotkey('alt+q', lambda: quit_confirm(quit_confirm_flag))
  25. # 创建退出确认弹出框的函数
  26. def quit_confirm(quit_confirm_flag):
  27. # 如果 quit_confirm_flag 为 True,则不弹出提示框直接退出
  28. if quit_confirm_flag:
  29. # 取消监听热键
  30. keyboard.unhook_all_hotkeys()
  31. # 取消tkinter的事件循环
  32. root.quit()
  33. # 退出程序
  34. os._exit(0)
  35. # 创建提示框
  36. confirmation = tk.Toplevel()
  37. confirmation.title('确定退出?')
  38. # 创建提示信息
  39. label = tk.Label(confirmation, text='是否退出程序?')
  40. label.pack(side='top', padx=20, pady=20)
  41. # 创建复选框
  42. var = tk.IntVar()
  43. check_box = tk.Checkbutton(confirmation, text='下次不再提醒,直接退出', variable=var)
  44. check_box.pack(side='top', padx=20, pady=20)
  45. # 创建确认和取消按钮
  46. button_confirm = tk.Button(confirmation, text='确认', command=lambda: confirmation_action(var))
  47. button_confirm.pack(side='left', padx=20, pady=20)
  48. button_cancel = tk.Button(confirmation, text='取消', command=confirmation.destroy)
  49. button_cancel.pack(side='right', padx=20, pady=20)
  50. # 创建退出确认弹出框的动作函数
  51. def confirmation_action(var):
  52. if var.get() == 1:
  53. # 如果勾选了复选框,则创建一个名为'config'的文件,保存勾选状态
  54. with open('config', 'w', encoding='utf-8') as f:
  55. f.write('1')
  56. # 取消监听热键
  57. keyboard.unhook_all_hotkeys()
  58. # 取消tkinter的事件循环
  59. root.quit()
  60. # 退出程序
  61. os._exit(0)
  62. if __name__ == '__main__':
  63. # 判断是否存在'config'文件,如果存在且内容为'1',则弹窗 flag 设置为 False
  64. quit_confirm_flag = False
  65. if os.path.exists('config'):
  66. with open('config', 'r', encoding='utf-8') as f:
  67. data = f.read()
  68. if data == '1':
  69. quit_confirm_flag = True
  70. # 创建窗口
  71. root = tk.Tk()
  72. root.title('剪贴板保存工具')
  73. root.geometry('600x200')
  74. # 创建文本提示信息
  75. label = tk.Label(root, text='按Alt+S键保存剪贴板内容\n按Alt+Q键或关闭窗口程序退出', font=('微软雅黑', 24))
  76. label.pack(expand=True)
  77. # 监听热键
  78. hotkey_listener(quit_confirm_flag)
  79. # 进入消息循环
  80. root.mainloop()
 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/131483
推荐阅读
相关标签
  

闽ICP备14008679号