Text box et scrollbar sont dessus de list box

AlbatrosSilencieux80 Messages postés 43 Date d'inscription   Statut Membre Dernière intervention   -  
AlbatrosSilencieux80 Messages postés 43 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

voilà en exécutant mon programme

mon text box et scrollbar sont dessus de list box, normallement text box doit être sur list box et scrollbar doit être à droite de list box

quel bêtise que j'avais fait ?aidez moi svp

from os import lstat
from tkinter import *
from tkinter import messagebox
window = Tk()
window.title("List Box")
window.geometry("350x700")

def submit():
    data=txtData.get()
    lstBox.insert(END, data)

def select():
    data=lstBox.get(ANCHOR)
    messagebox.showinfo("Data", data)

def update():
    if txtData.get() != "":
        uid=lstBox.index(ANCHOR)
        udata=txtData.get()
        lstBox.delete(ANCHOR)
        lstBox.insert(uid, udata)
        txtData.delete(0, END)
    else:
        messagebox.showinfo("Message", "Please Select Any Option")

def delete():
    lstBox.delete(ANCHOR) # data de lstbox va effecer
    txtData.delete(0, END) # data de txtbox va effecer

def lstbind(event):
    id=lstBox.curselection()
    data=lstBox.get(id)
    mdata.set(data)

def deleteall():
    for item in reversed(lstBox.curselection()):
        lstBox.delete(item)

myframe=Frame(window)
myframe.pack()

YScrollbar=Scrollbar(myframe, orient=VERTICAL)

mdata=StringVar()
txtData=Entry(window, width=30, textvariable=mdata)
txtData.pack(pady=10)


lstBox=Listbox(myframe, width=38, height=15, selectmode=EXTENDED, yscrollcommand=YScrollbar.set)
lstBox.pack(pady=10)

YScrollbar.config(command=lstBox.yview)
YScrollbar.pack(side=RIGHT, fill=Y) # pour couvrir entier

lstBox.insert(END, "C")# on va inserer les datas à la fin
lstBox.insert(END, "C++")
lstBox.insert(END, "Java")
lstBox.insert(END, "Python")

mydata = ["C#.net", "ASP.net", "ASP.net"]
for data in mydata:
    lstBox.insert(END, data)
for i in range(10):
    lstBox.insert(END, "Python Programming Language in Tamil")

# lstBox.bind("<<ListboxSelect>>", lstbind)
btnSub = Button(window, text="Submit", padx=20, pady=10, bg="#16a085", fg="white",
                                            width=10, font=("times", 15, "bold"),
                                                                command=submit)
btnSub.pack(pady=2)

btnSelect = Button(window, text="Select", padx=20, pady=10,
                  bg="#1289A7", fg="white",width=10, font=("times", 15, "bold"),
                                                                command=select)
btnSelect.pack(pady=2)

btnSelect = Button(window, text="Update", padx=20, pady=10,
                  bg="orange", fg="white",width=10, font=("times", 15, "bold"),
                                                                command=update)
btnSelect.pack(pady=2)

btnDelete = Button(window, text="Delete", padx=20, pady=10,
                    bg="red", fg="white", width=10, font=("times", 15, "bold"),
                                                                command=delete)
btnDelete.pack(pady=2)

btnDeleteAll = Button(window, text="Delete All", padx=20, pady=10,
                bg="#01a3a4", fg="white", width=10, font=("times", 15, "bold"),
                                                             command=deleteall)
btnDeleteAll.pack(pady=2)

window.mainloop()


Windows / Firefox 138.0

7 réponses

  1. Diablo76 Messages postés 344 Date d'inscription   Statut Membre Dernière intervention   140
     

    Salut,

    Ton Entry doit avoir pour master (parent) non pas window mais myframe :

    txtData = Entry(myframe, width=30, textvariable=mdata)

     Ensuite, tu utilises la méthode pack de YScrollbar après avoir créé ta Listbox, il faut la positionner avant...

    YScrollbar = Scrollbar(myframe, orient=VERTICAL)
    YScrollbar.pack(side=RIGHT, fill=Y)
    
    lstBox = Listbox(
        myframe, width=38, height=15, selectmode=EXTENDED, yscrollcommand=YScrollbar.set
    )
    lstBox.pack(pady=10)
    
    YScrollbar.config(command=lstBox.yview)
    5
  2. AlbatrosSilencieux80 Messages postés 43 Date d'inscription   Statut Membre Dernière intervention   2
     




    0
  3. AlbatrosSilencieux80 Messages postés 43 Date d'inscription   Statut Membre Dernière intervention   2
     

    merci beaucoup

    0
  4. AlbatrosSilencieux80 Messages postés 43 Date d'inscription   Statut Membre Dernière intervention   2
     

    je continue mon programme avec scrollbar horizontal, mais mon curseur de scrollbar horizontal n'apparait pas quelqu'un peut m'aider svp

    from os import lstat
    from tkinter import *
    from tkinter import messagebox
    window = Tk()
    window.title("List Box")
    window.geometry("350x700")
    
    def submit():
        data=txtData.get()
        lstBox.insert(END, data)
    
    def select():
        data=lstBox.get(ANCHOR)
        messagebox.showinfo("Data", data)
    
    def update():
        if txtData.get() != "":
            uid=lstBox.index(ANCHOR)
            udata=txtData.get()
            lstBox.delete(ANCHOR)
            lstBox.insert(uid, udata)
            txtData.delete(0, END)
        else:
            messagebox.showinfo("Message", "Please Select Any Option")
    
    def delete():
        lstBox.delete(ANCHOR) # data de lstbox va effecer
        txtData.delete(0, END) # data de txtbox va effecer
    
    def lstbind(event):
        id=lstBox.curselection()
        data=lstBox.get(id)
        mdata.set(data)
    
    def deleteall():
        for item in reversed(lstBox.curselection()):
            lstBox.delete(item)
    
    myframe=Frame(window)
    myframe.pack()
    
    mdata=StringVar()
    txtData=Entry(myframe, width=30, textvariable=mdata)
    txtData.pack(pady=10)
    
    YScrollbar=Scrollbar(myframe, orient=VERTICAL)
    YScrollbar.pack(side=RIGHT, fill=Y) # pour couvrir entier
    XScrollbar=Scrollbar(myframe, orient=HORIZONTAL)
    XScrollbar.pack(side=BOTTOM, fill=X)
    
    lstBox=Listbox(myframe, width=38, height=15, selectmode=EXTENDED, yscrollcommand=YScrollbar.set, xscrollcommand=XScrollbar.set)
    lstBox.pack(pady=10)
    
    YScrollbar.config(command=lstBox.yview)
    XScrollbar.config(command=lstBox.xview)
    
    lstBox.insert(END, "C")# on va insérer les datas à la fin
    lstBox.insert(END, "C++")
    lstBox.insert(END, "Java")
    lstBox.insert(END, "Python")
    
    mydata = ["C#.net", "ASP.net", "ASP.net"]
    for data in mydata:
        lstBox.insert(END, data)
    
    for i in range(10):
        lstBox.insert(END, "Python Programming Language in Tamil")
    
    btnSub = Button(window, text="Submit", padx=20, pady=10, bg="#16a085", fg="white", width=10, font=("times", 15, "bold"),command=submit)
    btnSub.pack(pady=2)
    
    btnSelect = Button(window, text="Select", padx=20, pady=10,
    bg="#1289A7", fg="white",width=10, font=("times", 15, "bold"),                                                              command=select)
    btnSelect.pack(pady=2)
    
    btnSelect = Button(window, text="Update", padx=20, pady=10,
    bg="orange", fg="white",width=10, font=("times", 15, "bold"),                                                               command=update)
    btnSelect.pack(pady=2)
    
    btnDelete = Button(window, text="Delete", padx=20, pady=10,
    bg="red", fg="white", width=10, font=("times", 15, "bold"),                                                               command=delete)
    btnDelete.pack(pady=2)
    
    btnDeleteAll = Button(window, text="Delete All", padx=20, pady=10,
    bg="#01a3a4", fg="white", width=10, font=("times", 15, "bold"),                                                            command=deleteall)
    btnDeleteAll.pack(pady=2)
    
    window.mainloop()

    https://i.postimg.cc/L8FvkXHK/essaitkinter.jpg

    0
    1. Diablo76 Messages postés 344 Date d'inscription   Statut Membre Dernière intervention   140
       

      Salut,

      Il n'apparait pas, car les longueurs de tes textes dans la Listbox ne dépassent pas de la fenêtre.

      4
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. AlbatrosSilencieux80 Messages postés 43 Date d'inscription   Statut Membre Dernière intervention   2
     

    Bonsoir

    je continue mon programme tkinter, scrollbar horizontal mais son curseur n'apparait pas seulement scrollbar horizontal s'apparaît

    from os import lstat
    from tkinter import *
    from tkinter import messagebox
    window = Tk()
    window.title("List Box")
    window.geometry("350x700")
    
    def submit():
        data=txtData.get()
        lstBox.insert(END, data)
    
    def select():
        data=lstBox.get(ANCHOR)
        messagebox.showinfo("Data", data)
    
    def update():
        if txtData.get() != "":
            uid=lstBox.index(ANCHOR)
            udata=txtData.get()
            lstBox.delete(ANCHOR)
            lstBox.insert(uid, udata)
            txtData.delete(0, END)
        else:
            messagebox.showinfo("Message", "Please Select Any Option")
    
    def delete():
        lstBox.delete(ANCHOR) # data de lstbox va effecer
        txtData.delete(0, END) # data de txtbox va effecer
    
    def lstbind(event):
        id=lstBox.curselection()
        data=lstBox.get(id)
        mdata.set(data)
    
    def deleteall():
        for item in reversed(lstBox.curselection()):
            lstBox.delete(item)
    
    myframe=Frame(window)
    myframe.pack()
    
    mdata=StringVar()
    txtData=Entry(myframe, width=30, textvariable=mdata)
    txtData.pack(pady=10)
    
    YScrollbar=Scrollbar(myframe, orient=VERTICAL)
    YScrollbar.pack(side=RIGHT, fill=Y) # pour couvrir entier
    
    XScrollbar=Scrollbar(myframe, orient=HORIZONTAL)
    XScrollbar.pack(side=BOTTOM, fill=X)
    
    lstBox=Listbox(myframe, width=38, height=15, selectmode=EXTENDED, yscrollcommand=YScrollbar.set, xscrollcommand=XScrollbar.set)
    lstBox.pack(pady=10)
    
    YScrollbar.config(command=lstBox.yview)
    XScrollbar.config(command=lstBox.xview)
    
    lstBox.insert(END, "C")# on va insérer les datas à la fin
    lstBox.insert(END, "C++")
    lstBox.insert(END, "Java")
    lstBox.insert(END, "Python")
    
    mydata = ["C#.net", "ASP.net", "ASP.net"]
    for data in mydata:
        lstBox.insert(END, data)
    
    for i in range(10):
        lstBox.insert(END, "Python Programming Language in Tamil")
    
    btnSub = Button(window, text="Submit", padx=20, pady=10, bg="#16a085", fg="white", width=10, font=("times", 15, "bold"),command=submit)
    btnSub.pack(pady=2)
    
    btnSelect = Button(window, text="Select", padx=20, pady=10,
    bg="#1289A7", fg="white",width=10, font=("times", 15, "bold"),                                                              command=select)
    btnSelect.pack(pady=2)
    
    btnSelect = Button(window, text="Update", padx=20, pady=10,
    bg="orange", fg="white",width=10, font=("times", 15, "bold"),                                                               command=update)
    btnSelect.pack(pady=2)
    
    btnDelete = Button(window, text="Delete", padx=20, pady=10,
    bg="red", fg="white", width=10, font=("times", 15, "bold"),                                                               command=delete)
    btnDelete.pack(pady=2)
    
    btnDeleteAll = Button(window, text="Delete All", padx=20, pady=10,
    bg="#01a3a4", fg="white", width=10, font=("times", 15, "bold"),                                                            command=deleteall)
    btnDeleteAll.pack(pady=2)
    
    window.mainloop()
    0
  7. AlbatrosSilencieux80 Messages postés 43 Date d'inscription   Statut Membre Dernière intervention   2
     

    les codes suivantes tkinter, scrollbar horizontal, mais son curseur n'apparait pas, seulement scrollbar horizontal s'apparaît veuillez m'aidez svp

    from os import lstat
    from tkinter import *
    from tkinter import messagebox
    window = Tk()
    window.title("List Box")
    window.geometry("350x700")
     
    def submit():
        data=txtData.get()
        lstBox.insert(END, data)
     
    def select():
        data=lstBox.get(ANCHOR)
        messagebox.showinfo("Data", data)
     
    def update():
        if txtData.get() != "":
            uid=lstBox.index(ANCHOR)
            udata=txtData.get()
            lstBox.delete(ANCHOR)
            lstBox.insert(uid, udata)
            txtData.delete(0, END)
        else:
            messagebox.showinfo("Message", "Please Select Any Option")
     
    def delete():
        lstBox.delete(ANCHOR) # data de lstbox va effecer
        txtData.delete(0, END) # data de txtbox va effecer
     
    def lstbind(event):
        id=lstBox.curselection()
        data=lstBox.get(id)
        mdata.set(data)
     
    def deleteall():
        for item in reversed(lstBox.curselection()):
            lstBox.delete(item)
     
    myframe=Frame(window)
    myframe.pack()
     
    mdata=StringVar()
    txtData=Entry(myframe, width=30, textvariable=mdata)
    txtData.pack(pady=10)
     
    YScrollbar=Scrollbar(myframe, orient=VERTICAL)
    YScrollbar.pack(side=RIGHT, fill=Y) # pour couvrir entier
     
    XScrollbar=Scrollbar(myframe, orient=HORIZONTAL)
    XScrollbar.pack(side=BOTTOM, fill=X)
     
    lstBox=Listbox(myframe, width=38, height=15, selectmode=EXTENDED, yscrollcommand=YScrollbar.set, xscrollcommand=XScrollbar.set)
    lstBox.pack(pady=10)
     
    YScrollbar.config(command=lstBox.yview)
    XScrollbar.config(command=lstBox.xview)
     
    lstBox.insert(END, "C")# on va insérer les datas à la fin
    lstBox.insert(END, "C++")
    lstBox.insert(END, "Java")
    lstBox.insert(END, "Python")
     
    mydata = ["C#.net", "ASP.net", "ASP.net"]
    for data in mydata:
        lstBox.insert(END, data)
     
    for i in range(10):
        lstBox.insert(END, "Python Programming Language in Tamil")
     
    btnSub = Button(window, text="Submit", padx=20, pady=10, bg="#16a085", fg="white", width=10, font=("times", 15, "bold"),command=submit)
    btnSub.pack(pady=2)
     
    btnSelect = Button(window, text="Select", padx=20, pady=10,
    bg="#1289A7", fg="white",width=10, font=("times", 15, "bold"),                                                              command=select)
    btnSelect.pack(pady=2)
     
    btnSelect = Button(window, text="Update", padx=20, pady=10,
    bg="orange", fg="white",width=10, font=("times", 15, "bold"),                                                               command=update)
    btnSelect.pack(pady=2)
     
    btnDelete = Button(window, text="Delete", padx=20, pady=10,
    bg="red", fg="white", width=10, font=("times", 15, "bold"),                                                               command=delete)
    btnDelete.pack(pady=2)
     
    btnDeleteAll = Button(window, text="Delete All", padx=20, pady=10,
    bg="#01a3a4", fg="white", width=10, font=("times", 15, "bold"),                                                            command=deleteall)
    btnDeleteAll.pack(pady=2)
     
    window.mainloop()
    0
  8. AlbatrosSilencieux80 Messages postés 43 Date d'inscription   Statut Membre Dernière intervention   2
     

    merci votre aides

    0