es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿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()
Tags:  , ,

Answer

  1. Avatar for 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 utilizando requests.get(), puedes insertarla en el listbox llamando a listbox.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:

    def main():
        request = "https://unshorten.me/raw/" + link.get()
        response = requests.get(request).text
        print(response)
        index = int(listbox.size()/2)
        listbox.insert(index, response)
    

    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) o listbox.insert(END, response) respectivamente.

Comments are closed.