首页 > 解决方案 > NameError:名称“标签”未定义 - Python Tkinter

问题描述

这段代码的作用是,当我粘贴这样的链接时:http://url.io/s/1233abca/?s=https%3A%2F%2Fexample.com%2Fsome_contens%2F然后它将更改为:exmaple.com/some_contents/

这个 这段代码工作得很好(我在第 1 行设置了文本“链接”):

from tkinter import *
from urllib import parse
from tkinter import Tk

window = Tk()

window.title("Link Slicer")

window.geometry('344x50')

lbl = Label(window, text="Link")

lbl.grid(column=0, row=1)

txt = Entry(window,width=50)

txt.grid(column=0, row=0)

def clicked():

    sliced = txt.get()

    sliced = parse.unquote(sliced)

    lbl.configure(text= sliced[36:])

    r = Tk()
    r.withdraw()
    r.clipboard_clear()
    r.clipboard_append(sliced[36:])
    r.update()

btn = Button(window, text="Slice", command=clicked)

btn.grid(column=1, row=0)



window.mainloop()

这个

但我收到此代码错误(我只想将文本“链接”放在第 1 行,就像第一个一样:

import tkinter as tk
from urllib import parse

root = tk.Tk()
root.title("Link Slicer")
root.geometry('344x50')
root.attributes("-topmost", True)

lbl = Label(root, text="Link")

lbl.grid(column=0, row=1)

def clicked():
    clip = root.clipboard_get()
    clip = parse.unquote(clip)[36:]

    root.clipboard_clear()
    root.clipboard_append(clip)
    entry_text.set(clip)
    lbl.configure(text= clip)

btn = tk.Button(root, text="Slice", command=clicked)
btn.pack()

root.mainloop()

一个代码的作用是当我粘贴这样的链接时:http://url.io/s/1233abca/?s=https%3A%2F%2Fexample.com%2Fsome_contens%2F然后单击按钮......然后“链接”文本(在第 1 行中)将更改为“切片”输出,如下所示

但是,在第二个代码中,当我复制这样的链接:http://url.io/s/1233abca/?s=https%3A%2F%2Fexample.com%2Fsome_contens%2F并单击“切片”按钮(不需要粘贴到输入字段)时,输出将显示在输入字段中。

我现在要做的是,使用第二个代码,而不是在输入字段中显示输出,而是更改文本“链接”(就像在第一个代码中一样)。

标签: pythontkinter

解决方案


您尚未导入Label. 添加from tkinter import *回您的代码。


推荐阅读