剪贴板保存成文件工具

 下面贴出来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()
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您解答这个问题。首先,我们可以使用Java Swing库来实现GUI界面。在GUI界面中,我们可以设计一个菜单栏、状态栏和工具栏。 针对您提到的功能,我们可以按照以下步骤来实现: 1. 实现新建功能 当用户点击“新建”菜单项时,可以弹出对话框让用户输入新文件文件名,然后将一个空的文本区域添加到GUI界面中,并将焦点设置到文本区域中,以便用户可以直接开始编辑新文本。 2. 实现打开功能 当用户点击“打开”菜单项时,可以弹出对话框让用户选择要打开的文件,然后将该文件中的文本加载到文本区域中。 3. 实现保存功能 当用户点击“保存”菜单项时,可以将当前文本区域中的文本保存文件中。如果文件已经存在,则提示用户是否覆盖该文件。 4. 实现自动保存功能 我们可以使用Java的定时器类来实现自动保存功能。每隔一段时间,我们可以将当前文本区域中的文本保存文件中。 5. 实现查找功能 当用户点击“查找”菜单项时,可以弹出对话框让用户输入要查找的文本,并在文本区域中高亮显示匹配的文本。 6. 实现字体大小颜色更改等功能 我们可以使用Java的字体类和颜色类来实现这些功能。当用户点击“字体大小”或“颜色”菜单项时,可以弹出对话框让用户选择字体大小或颜色,并将所选的字体大小或颜色应用到文本区域中。 7. 实现剪切板相关功能 我们可以使用Java的剪切板类来实现剪切、复制和粘贴功能。当用户点击“剪切”、“复制”或“粘贴”菜单项时,可以将当前选中的文本放入剪切板中,或从剪切板中获取文本并将其粘贴到文本区域中。 以上就是实现Java文本编辑器的大体思路,希望能够帮到您。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值