如何复制出现在tkinter GUI上的字符串

时间:2019-06-05 15:36:07

标签: python tkinter

我有一个密码生成器脚本,可以很好地工作,问题是,我在GUI中以标签形式显示了密码,但没有给我复制密码的选项,因此我可以将密码放在需要的位置,如何我可以将密码打印到GUI,以便以后复制吗,有没有比标签更好的方法了? 我正在使用功能

// Create new form data to send to the server
let formData = new FormData()

// Attach a file
formData.append('file', document.querySelector('input[type=file]'))

// Attach an input file
formData.append('title', document.querySelector('#file-title'))

// Send the form data
fetch('/path/to/endpoint', {
  method: 'post',
  body: formData
})

k是存储密码的变量 另外,如果有一些python函数可以使我直接将k的内容直接复制到剪贴板,可能会更好,谢谢

2 个答案:

答案 0 :(得分:2)

最简单的解决方案是使用状态为Entry的{​​{1}}小部件。

示例:

"readonly"

您还可以使用import tkinter as tk root = tk.Tk() entry = tk.Entry(root) entry.pack(side="top", padx=20, pady=20) # insert the password entry.insert(0, "SuperSecretPassw0rd!") # configure the entry to readonly entry.configure(state="readonly") root.mainloop() clipboard_clear方法将其自动添加到剪贴板:

clipboard_append

答案 1 :(得分:1)

如果我正确理解了您的问题,您是否想获取或设置TK gui中的值?我将使用Label,而不是使用Entry,而是使用k的TK变量类之一(例如StringVar),它们具有getset个方法

这是我用来获取和设置TK小部件中的文本值的脚本示例:

frame = tk.Frame(master)
frame.pack()
filepath = tk.StringVar()
filepath.set("/Volumes/data/data/test_data/")        
fileentry = tk.Entry(frame, textvariable=filepath, width=125)
fileentry.pack()

if something:
    a = filepath.get()

对TK变量类的引用:https://effbot.org/tkinterbook/variable.htm