为了账号安全,请及时绑定邮箱和手机立即绑定

Tkinter 文本未按预期显示

Tkinter 文本未按预期显示

温温酱 2023-05-09 15:30:32
最近我决定尝试一下 tkinter ,我想从网站获取标题并将它们放在 tkinter 窗口中我设法获取了标头,但是当我运行代码时,数据变得混乱且难以阅读。有谁知道我怎样才能使它可读?谢谢!main.pyfrom tkinter import *from alx_tk import * window = Tk()window.title("Welcome to LikeGeeks app")window.geometry('1920x1080')txt = Entry(window,width=10)txt.grid(column=0, row=0)lbl = Label(window, text="Response")lbl.grid(column=0, row=1)hd = Label(window, text="Headers")hd.grid(column=0, row=2)header_ = Label(window, text="Results")header_.grid(column=0, row=3)def clicked():   # res = "Welcome to " + txt.get()    resp = get_req(txt.get())    lbl.configure(text= resp)   # lbl.configure(text= res)def header():    rss = headerss(txt.get())    header_.configure(text= rss)    btn = Button(window, text="Start", command=clicked)btn.grid(column=2, row=1)hdbutton = Button(window, text="Start", command= header)hdbutton.grid(column=2, row=2)window.mainloop()alx_tk.pyimport requestsdef get_req(target):    resp = requests.get(target)    return respdef headerss(target):    test =  []    resp = requests.get(target)    for key ,value in resp.headers.items():        a = key + value        test.append(a)    return test再次感谢!
查看完整描述

1 回答

?
catspeake

TA贡献1111条经验 获得超0个赞

您似乎想要生成多行输出。标签是一个糟糕的选择。虽然您可以使用标签,但与使用文本小部件相比,它可能需要更多工作并产生较差的用户体验。


文本小部件内置了换行功能,因此更容易将长 cookie 换行。文本小部件还支持滚动,而标签则不支持。文本小部件还支持能够选择和复制文本。


因此,让我们从将标签更改为文本小部件开始:


header_ = Text(window)

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

接下来,您需要在键和值之间有一个制表符或一个空格:


for key , value in resp.headers.items():

    a = f"{key}\t{value}"

    test.append(a)

最后,将列表转换为由换行符分隔的值字符串,然后使用以下命令将此字符串添加到文本小部件insert:


def header():

    headers = headerss(txt.get())

    rss = "\n".join(headers)

    header_.delete("1.0", "end")

    header_.insert("end", rss)

//img1.sycdn.imooc.com//6459f6b700012f6f05530330.jpg

查看完整回答
反对 回复 2023-05-09
  • 1 回答
  • 0 关注
  • 162 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信