Python 文本未显示在Tkinter中

Python 文本未显示在Tkinter中,python,tkinter,Python,Tkinter,我放置在网格上的标签(showpw)(内部:def passwort\u gen)在应用程序窗口中不可见。当我运行代码并按下按钮时,原来的按钮向上移动,为文本腾出位置,就像它应该的那样,但是文本不可见 下面您可以看到整个项目代码。这是我第一个使用Tkinter的项目,所以我为混乱的结构道歉 import tkinter as tk import random import pyperclip as pc root = tk.Tk() canvas = tk.Canvas(root, widt

我放置在网格上的
标签(
showpw
)(内部:
def passwort\u gen
)在应用程序窗口中不可见。当我运行代码并按下按钮时,原来的按钮向上移动,为文本腾出位置,就像它应该的那样,但是文本不可见

下面您可以看到整个项目代码。这是我第一个使用Tkinter的项目,所以我为混乱的结构道歉

import tkinter as tk
import random
import pyperclip as pc

root = tk.Tk()

canvas = tk.Canvas(root, width=600, height=300)
canvas.grid(columnspan=3, rowspan=3)

#Header
Header = tk.StringVar()
text = tk.Label(root, textvar=Header, font="helvetica")
Header.set("Passwort Generator")

chars = "abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ!§$%&/()=?*#'@"
passwords = []

text.grid(columnspan=3, column=0, row=0)

def neues_passwort():
    gen = tk.StringVar()
    gen_btn = tk.Button(root, textvar=gen, command=lambda:passwort_gen(), font="helvetica")
    gen.set("Passwort Generieren")
    gen_btn.grid(column=1, row=1)
    Header.set("Neues Passwort")

def passwort_gen():
    for p in range(1):
        password = ""
        for c in range(12):
            password += random.choice(chars)
    pwtext = tk.StringVar()
    showpw = tk.Label(root, textvar=pwtext, font="helvetica", fg="#000000")
    pwtext.set = "Dein Passwort ist:", password, ". Es wurde zum Clipboard hinzugefügt"
    showpw.grid(columnspan=3, column=1, row=2,)
    pc.copy(password)



#button
text = tk.StringVar()
browse_btn = tk.Button(root, textvar=text, command=lambda:neues_passwort(), font="helvetica")
text.set("neues Passwort")
browse_btn.grid(column=1, row=1)

root.mainloop()

pwtext.set
是一个函数,而不是字符串容器。使用
pwtext.set(“Dein Passwort ist:“+password+”.Es wurde zum Clipboard hinzugefügt”)

pwtext.set(…)not pwtext.set=…感谢您的快速帮助。@PlayingJones:这是感谢他人的方式-