zvepb
@zvepb

Как копировать canvas текст python?

Написал небольшую программулинку для работы, интерфейс примитивный в tkinter, на выводе я получаю какую то инфу, и чтобы вывести ее на экран, по незнанию использовал canvas, create_text метод. Но для удобства хочу чтобы эту инфу с экрана, мне можно было копировать, текст канвас конечно не выделяется. Вопрос: Можно ли реализовать копирование в буфер, кликом например, или передать параметр, чтобы текст стал выделяемым. Если нет, какой инструмент лучше использовать для вывода на экран tkinter? Желательно, чтобы можно было задать цвет, шрифт и все это эстетичненько выровнять)
  • Вопрос задан
  • 166 просмотров
Решения вопроса 1
@o5a
from tkinter import *

def onObjectClick(event):
    obj_id = event.widget.find_withtag('current')[0]
    copy_text = event.widget.itemcget(obj_id, 'text')
    root.clipboard_clear()
    root.clipboard_append(copy_text)

root = Tk()

canv = Canvas(root, width=100, height=100)
obj1 = canv.create_text(50, 30, text='Click me')
canv.tag_bind(obj1, '<Button-1>', onObjectClick)
canv.pack()

root.mainloop()

Альтернативно для копирования можно использовать pyperclip
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы