python - 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
并单击“切片”按钮(不需要粘贴到输入字段)时,输出将显示在输入字段中。
我现在要做的是,使用第二个代码,而不是在输入字段中显示输出,而是更改文本“链接”(就像在第一个代码中一样)。
解决方案
您尚未导入Label
. 添加from tkinter import *
回您的代码。
推荐阅读
- nginx - NodePort 上的 Kubernetes Nginx 入口控制器
- ios - 如何知道我们是否可以使用 half4 而不是 float4?
- php - 在 php-header 的菜单中突出显示当前页面
- laravel - 在 Laravel 中,当页面被支持时,我得到旧的会话变量
- javascript - 当数据结构与 Mongoose 中的模型完全匹配时,如何一次增加多个字段?
- sql - 按表包含日期时间列时分组
- data-warehouse - 为数据仓库设计一个关系船
- chatbot - 如何在 sendPhoto 中启用 HTML?
- prometheus - 了解 Prometheus 指标拉取
- python - 忽略训练数据中不存在的测试特征