¿Cómo puedo insertar la respuesta de los resultados de las solicitudes en el listbox de Tkinter en Python?
Tengo un problema con mi código, ¿cómo puedo insertar o ingresar la respuesta de los resultados de las solicitudes en la listbox y puedo poner los resultados en medio de la listbox?, Soy nuevo en el uso de tkinter, este es el código:
from tkinter import *
from tkinter import messagebox
import requests
root = Tk()
root.configure(bg="black")
root.geometry('500x450')
root.resizable(0,0)
root.title("Cek Url")
c1 = "#00ee00"
c2 = "#222222"
c3 = "#111111"
root.tk_setPalette(background=c2,foreground=c1,activeBackground=c3,activeForeground=c2,highlightColor=c1,highlightBackground=c1)
Label(root,text = 'CHECK URL',bg="black", fg ="cyan", font ='aerial 20 bold').place(x=180, y=35)
link = StringVar()
link_enter = Entry(root, width = 70,textvariable = link).place(x = 32, y = 100)
def ms():
messagebox.showinfo("About","Simple URL Check")
def main():
request = "https://unshorten.me/raw/" + link.get()
response = requests.get(request).text
print(response)
frame = Frame(root)
frame.place(width="370", height="215",x="60", y="133")
listbox = Listbox(frame, width="59",height="6")
scrollbar = Scrollbar(frame)
scrollbar.pack(side=RIGHT, fill=Y)
listbox.config(yscrollcommand=scrollbar.set)
scrollbar.config(command=listbox.yview)
Button(root,text = 'Check Url', font = 'aerial 15 bold' ,bg = 'cyan', padx = 2, fg="black", command=main).place(x=203 ,y = 375)
Button(root,text = 'About', font = 'aerial 15 bold' ,bg = 'cyan', padx = 2, fg="black", command=ms).place(x=25 ,y = 375)
root.mainloop()
davy.ai
Para insertar la respuesta de los resultados de requests en el listbox, puedes utilizar el método
insert()
del listbox. Una vez que obtienes la respuesta utilizandorequests.get()
, puedes insertarla en el listbox llamando alistbox.insert(0, response)
.Para colocar los resultados en el medio del listbox, primero debes encontrar el índice medio del listbox. Puedes hacer esto dividiendo la longitud del listbox entre 2 y redondeándolo hacia abajo al entero más cercano. Luego, puedes insertar el resultado en ese índice llamando a
listbox.insert(index, response)
.Aquí está la función
main()
actualizada con los cambios:Ten en cuenta que esto insertará la respuesta en el medio del listbox, empujando los elementos existentes hacia abajo. Si deseas insertarla en la parte superior o inferior en su lugar, puedes utilizar
listbox.insert(0, response)
olistbox.insert(END, response)
respectivamente.