Python Tkinter文本未按预期显示
最近,我决定玩一玩tkinter,我想从一个网站上获取标题并将其放在tkinter窗口中 我设法获取了标题,但当我运行代码时,数据被弄乱了,很难读取。有人知道我怎样才能使它可读吗?谢谢 main.pyPython Tkinter文本未按预期显示,python,tkinter,request,python-requests,Python,Tkinter,Request,Python Requests,最近,我决定玩一玩tkinter,我想从一个网站上获取标题并将其放在tkinter窗口中 我设法获取了标题,但当我运行代码时,数据被弄乱了,很难读取。有人知道我怎样才能使它可读吗?谢谢 main.py from tkinter import * from alx_tk import * window = Tk() window.title("Welcome to LikeGeeks app") window.geometry('1920x1080') txt = E
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
再次感谢 您似乎想要生成多行输出。标签是一个糟糕的选择。虽然您可以使用标签,但与使用文本小部件相比,它可能需要更多的工作并产生较弱的用户体验 文本小部件内置了包装功能,因此更容易包装长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)
您似乎想要生成多行输出。标签是一个糟糕的选择。虽然您可以使用标签,但与使用文本小部件相比,它可能需要更多的工作并产生较弱的用户体验 文本小部件内置了包装功能,因此更容易包装长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)
什么是“乱七八糟、难以阅读”呢?怎么搞砸了?那张照片什么都没告诉我们。它以小字体显示一个很长的文本字符串。当然,这很难理解。你想做什么而不是它在做什么?你想把它包起来吗?有大一点的字体吗?每个标题后面的换行符?还有别的事吗?这和tkinter没什么关系。你需要格式化你的请求。谷歌告诉我,这可能会有帮助,或者你可以删除帖子,然后问一个新的问题Q@Atlas435:部分与tkinter有关。它们在标签中显示列表,tkinter将向数据添加大括号,因为它是列表而不是字符串。然而,这只是问题的一部分,“混乱和难以阅读”是什么意思?怎么搞砸了?那张照片什么都没告诉我们。它以小字体显示一个很长的文本字符串。当然,这很难理解。你想做什么而不是它在做什么?你想把它包起来吗?有大一点的字体吗?每个标题后面的换行符?还有别的事吗?这和tkinter没什么关系。你需要格式化你的请求。谷歌告诉我,这可能会有帮助,或者你可以删除帖子,然后问一个新的问题Q@Atlas435:部分与tkinter有关。它们在标签中显示列表,tkinter将向数据添加大括号,因为它是列表而不是字符串。不过,这只是问题的一部分。非常感谢!我得到这个错误tho:a=f“{key}\t{value}”^SyntaxError:invalid syntaxe非常感谢!我得到了以下错误:a=f“{key}\t{value}”^SyntaxError:无效语法