Этот вопрос закрыт для ответов, так как повторяет вопрос Как скопировать текст из графического приложения Tkinter?
KirasiH
@KirasiH
Раньше было лучше

Как скопировать выделенный текст в tkinter?

Я пишу свой текстовый редактор и я не могу понять как копировать выделенный текст tkinter

сам код
#библиотеки-------------------------
from tkinter import *
from tkinter import filedialog as fd
from tkinter import scrolledtext
from tkinter import ttk
from tkinter import messagebox as ms
#-----------------------------------

savefile = None#сюда записывается путь сохранения

def new():
    global savefile
    res = ms.askyesno('Создание нового документа...','Сохранить преведущий документ?')
    if res == True:
        save()#вызов вункции сохранить( save )
        txt.delete('1.0', END)#удаление символов из документа
        savefile = None#обнуление пути сохранения
    elif res == False:
        txt.delete('1.0', END)#удаление символов из документа
        savefile = None#обнуление пути сохранения
    else:
        pass
        
def open_file():
    global savefile
    res = ms.askyesno('Открытие документа...','Сохранить преведущий документ?')
    if res == True:
        save()
        fileopen = fd.askopenfilename()
        if fileopen:
            file = open(fileopen, 'r')
            data = file.read()
            txt.delete('1.0', END)
            txt.insert(END, data)
            savefile = None
    elif res == False:
        fileopen = fd.askopenfilename()
        if fileopen:
            file = open(fileopen, 'r')
            data = file.read()
            txt.delete('1.0', END)
            txt.insert(END, data)
            savefile = None
    else:
        pass

        
def save_as():
    global savefile
    global text
    savefile = fd.asksaveasfilename(defaultextension='txt')#получение пути сохраниния
    if savefile:
            file = open(savefile, 'w')#сохранение
            data = txt.get('1.0', END)#записать в дату то что есть в текстовом поле
            file.write(data)#редактировать и записать

    
def save():
    global savefile
    global text
    if savefile == None:#если пути нет то сохранение файла с укозанием пути
        savefile = fd.asksaveasfilename(defaultextension='txt')#получение пути сохранения
        if savefile:
            file = open(savefile, 'w')#сохранение
            data = txt.get('1.0', END)#записать в дату то что есть в текстовом поле
            file.write(data)#редактировать и записать
        
    else:#если путь есть то сохранение файла по данному пути
        file = open(savefile, 'w')
        data = txt.get('1.0', END)
        file.write(data)

        
def window_destroy():
    global window
    global text
    res = ms.askyesnocancel('Выход','Вы желаете сохранить файл')
    if res == True:
        File.save()
        window.destroy
    elif res == False:
        window.destroy()
    elif res == None:
        pass
    else:
        pass
      

def popup(e):
    x = e
    y = e
    menup.post(e.x_root, e.y_root)


def on_close():
    window_destroy()

                    
window = Tk()
window.title('текстовый редактор')

window.minsize(width = 500,height=500)
window.maxsize(width = 500,height=500)
window.protocol('WM_DELETE_WINDOW', on_close)
        
#поле ввода текста
txt = scrolledtext.ScrolledText(window, width = 60, height = 40, wrap='word')
txt.grid(column=0,row=0)

window.bind("<Control-s>",save)
window.bind("<Button-3>", popup)

        #вкладки меню
menu = Menu(window)
menuBar = Menu(menu)
menuBar.add_command(label = "Новый",command=new)
menuBar.add_command(label = "Открыть",command=open_file)
menuBar.add_separator()
menuBar.add_command(label = "Сохранить",command=save)
menuBar.add_command(label = "Сохранить как",command=save_as)

menu.add_cascade(label='Файл', menu=menuBar)
menu.add_cascade(label='Информация')
menu.add_cascade(label="Выйти",command=window_destroy)
#----------------------------------------------------
menup = Menu(tearoff=0)
menup.add_command(label="Вырезать")
menup.add_command(label="Вставить")
menup.add_command(label="Копировать")

window.config(menu=menu)
window.mainloop()
  • Вопрос задан
  • 359 просмотров
Решения вопроса 1
Fallervood
@Fallervood
Попробуй посмотреть вот здесь, там есть вариант с Tkinter
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы