可以使用 Tkinter 库中的 MenuMenu.add_command() 方法来创建复制、粘贴菜单。

具体实现步骤如下:

  1. 创建一个主窗口并添加两个文本框。
  2. 创建一个菜单栏,并将其添加到主窗口中。
  3. 在菜单栏中添加两个菜单项:复制和粘贴。
  4. 使用 Menu.add_command() 方法将复制和粘贴功能与菜单项关联。
  5. 在文本框中绑定右键菜单,并将其与菜单栏中的复制和粘贴菜单项关联。

代码示例:

import tkinter as tk

def copy():
    text = root.clipboard_get()
    if text:
        root.clipboard_clear()
        root.clipboard_append(text)

def paste():
    text = root.selection_get(selection='CLIPBOARD')
    if text:
        root.focus()
        root.event_generate('<<Paste>>')

root = tk.Tk()

# 创建两个文本框
text1 = tk.Text(root)
text2 = tk.Text(root)

# 创建菜单栏
menubar = tk.Menu(root)

# 创建复制菜单项并绑定功能
copy_menu = tk.Menu(menubar, tearoff=0)
copy_menu.add_command(label='复制', command=copy)
menubar.add_cascade(label='复制', menu=copy_menu)

# 创建粘贴菜单项并绑定功能
paste_menu = tk.Menu(menubar, tearoff=0)
paste_menu.add_command(label='粘贴', command=paste)
menubar.add_cascade(label='粘贴', menu=paste_menu)

# 将菜单栏添加到主窗口
root.config(menu=menubar)

# 绑定右键菜单
text1.bind('<Button-3>', lambda e: copy_menu.post(e.x_root, e.y_root))
text2.bind('<Button-3>', lambda e: paste_menu.post(e.x_root, e.y_root))

# 将文本框添加到主窗口
text1.pack()
text2.pack()

root.mainloop()

运行代码后,右键单击文本框即可弹出复制、粘贴菜单。

Python Tkinter 文本框实现复制粘贴菜单

原文地址: https://www.cveoy.top/t/topic/lMM9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录