Text box et scrollbar sont dessus de list box

AlbatrosSilencieux80 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   -  
AlbatrosSilencieux80 Messages postés 19 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

A voir également:

7 réponses

Diablo76 Messages postés 247 Date d'inscription   Statut Membre Dernière intervention   85
 

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
AlbatrosSilencieux80 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   2
 
0
AlbatrosSilencieux80 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   2
 

merci beaucoup

0
AlbatrosSilencieux80 Messages postés 19 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
Diablo76 Messages postés 247 Date d'inscription   Statut Membre Dernière intervention   85
 

Salut,

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

4

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

Posez votre question
AlbatrosSilencieux80 Messages postés 19 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
AlbatrosSilencieux80 Messages postés 19 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
AlbatrosSilencieux80 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   2
 

merci votre aides

0