Python копировать в буфер обмена содержимое переменной - PullRequest
1 голос
/ 18 февраля 2020

У меня есть переменная, которая хранит текст, который пользователь вводит в диалоговом окне. Мне нужно скопировать этот текст, а затем вставить его в другое поле (чтобы выполнить поиск)

Я пробовал pyperclip, но он работает только с обычным текстом, а не с переменными. Вот код только для диалогового окна, а e - моя переменная.

from tkinter import *
master = Tk()
e = Entry(master)
e.pack()

e.focus_set()


def callback():
    print(e.get())  # This is the text I want to use later


b = Button(master, text="insert", width=10, command=callback)
b.pack()


mainloop()

Ответы [ 2 ]

1 голос
/ 18 февраля 2020

Вам необходимо создать строку tkinter для хранения этого значения, я включил это в ваш код ниже.

from tkinter import *
master = Tk()

estring = StringVar(master)

e = Entry(master, textvariable = estring,)
e.pack()

e.focus_set()




def callback():
    print(estring.get())  # This is the text I want to use later


b = Button(master,  text="insert", width=10, command=callback)
b.pack()


mainloop()

Ниже приведен пример использования pyperclip для копирования входного текста в буфер обмена.

from tkinter import *
import pyperclip

master = Tk()

estring = StringVar(master)

e = Entry(master, textvariable = estring,)
e.pack()

e.focus_set()


def callback():
    pyperclip.copy(estring.get())

b = Button(master,  text="copy", width=10, command=callback)
b.pack()


mainloop()

После ввода текста и нажатия кнопки копирования текст теперь находится в буфере обмена.

0 голосов
/ 18 февраля 2020

Это не работает в вашем контексте?

import pyperclip

test = "Hugo"
pyperclip.copy(test)
print(pyperclip.paste())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...