猿问

Tkinter 文本未按预期显示

最近我决定尝试一下 tkinter ,我想从网站获取标题并将它们放在 tkinter 窗口中


我设法获取了标头,但是当我运行代码时,数据变得混乱且难以阅读。有谁知道我怎样才能使它可读?谢谢!


main.py


from 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.py


import requests


def get_req(target):

    resp = requests.get(target)

    return resp


def headerss(target):

    test =  []

    resp = requests.get(target)

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

        a = key + value

        test.append(a)

    return test



再次感谢!


温温酱
浏览 163回答 1
1回答

catspeake

您似乎想要生成多行输出。标签是一个糟糕的选择。虽然您可以使用标签,但与使用文本小部件相比,它可能需要更多工作并产生较差的用户体验。文本小部件内置了换行功能,因此更容易将长 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)
随时随地看视频慕课网APP

相关分类

Python
我要回答