能复制python代码的软件_记事本类型程序中的复制/剪切/粘贴功能

我正在写一个记事本类型的程序,不能使用复制,粘贴和剪切功能。我好像不明白代码有什么问题。我查看了许多修改代码的源代码,并得出以下结论。在from tkinter import *

#Class

class Edit():

def __init__(self):

textbox.__init__(self)

self.bind('', self.copy)

self.bind('', self.cut)

self.bind('', self.paste)

def copy(self):

self.clipboard_clear()

textbox = self.get("sel.first", "sel.last")

self.clipboard_append(text)

def cut(self):

self.copy()

self.delete("sel.first", "sel.last")

def paste(self):

textbox = self.selection_get(selection='CLIPBOARD')

self.insert('insert', text)

这些是编辑功能。

程序的其余部分如下。在

^{pr2}$

运行完整程序会返回一个错误:Exception in Tkinter callback

Traceback (most recent call last):

File "C:\Python33\lib\tkinter\__init__.py", line 1475, in __call__

return self.func(*args)

TypeError: **<>**() missing 1 required positional argument: 'self'

我在Windows8上运行Python3.3.3。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单的记事本程序代码: ```python import tkinter as tk from tkinter import filedialog class Notepad: def __init__(self, master): self.master = master master.title("记事本") master.geometry("500x500") self.textarea = tk.Text(master) self.textarea.pack(fill=tk.BOTH, expand=1) menubar = tk.Menu(master) filemenu = tk.Menu(menubar, tearoff=0) filemenu.add_command(label="新建", command=self.new_file) filemenu.add_command(label="打开", command=self.open_file) filemenu.add_command(label="保存", command=self.save_file) filemenu.add_separator() filemenu.add_command(label="退出", command=master.quit) menubar.add_cascade(label="文件", menu=filemenu) editmenu = tk.Menu(menubar, tearoff=0) editmenu.add_command(label="剪切", command=self.cut) editmenu.add_command(label="复制", command=self.copy) editmenu.add_command(label="粘贴", command=self.paste) editmenu.add_separator() editmenu.add_command(label="全选", command=self.select_all) menubar.add_cascade(label="编辑", menu=editmenu) master.config(menu=menubar) def new_file(self): self.textarea.delete(1.0, tk.END) def open_file(self): file = filedialog.askopenfile(defaultextension=".txt", filetypes=[("Text Files", "*.txt"), ("All Files", "*.*")]) if file: self.textarea.delete(1.0, tk.END) self.textarea.insert(tk.END, file.read()) file.close() def save_file(self): file = filedialog.asksaveasfile(defaultextension=".txt", filetypes=[("Text Files", "*.txt"), ("All Files", "*.*")]) if file: file.write(self.textarea.get(1.0, tk.END)) file.close() def cut(self): self.textarea.event_generate("<<Cut>>") def copy(self): self.textarea.event_generate("<<Copy>>") def paste(self): self.textarea.event_generate("<<Paste>>") def select_all(self): self.textarea.tag_add(tk.SEL, "1.0", tk.END) self.textarea.mark_set(tk.INSERT, "1.0") self.textarea.see(tk.INSERT) root = tk.Tk() notepad = Notepad(root) root.mainloop() ``` 这个记事本程序提供了基本的文件操作功能(新建、打开、保存、退出),编辑功能剪切复制粘贴、全选),以及文字输入和展示功能。你可以将代码保存为一个 Python 文件,然后通过命令行运行该程序

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值