Forum >> Programmazione Python >> GUI >> Cursori di scorrimento verticale/orizzontale x finestra Tkinter

Pagina: 1

Buonasera, io ho la necessità di creare una finestra che possa essere scorsa in orizzontale e in verticale per tutta la sua lunghezza/larghezza.

Sto usando Python 3.6 su windows , ma potrebbe girare anche su un raspberry.




Il mio problema è che ho trovato degli esempi per lo scorrimento verticale , ma nulla per lo scorrimento orizzontale.

Avete qualche suggerimento da darmi.




Grazie

------
Alberto
Visto la mancanza di risposte allego un po' di codice, scritto da un nabbo.. ma per dare un'idea di quello che vorrei fare.

Ci sono alcune righe di codice che mi servivano solo per controllo.




Non riesco a creare lo scorrimento verticale e orizzontale.




# !/usr/bin/python3

try:
    from Tkinter import *
    from Tkinter import ttk

except:
    from tkinter import *
    from tkinter import ttk

import csv


with open("Backord.csv", newline="") as backordercsv:
    lettore3 = csv.reader(backordercsv,delimiter = ";")
    print (" 4- *** Backorder.csv ***")
    dati3 = [(linea30 , linea31 , linea32 , linea33, linea34 , linea35, linea36 , linea37, linea38 , linea39 , linea310, linea311 , linea312, linea313 , linea314, linea315, linea316 , linea317, linea318, linea319 , linea320) for linea3 in lettore3 ]#if linea34 =="154787"]
    for articolo3 in dati3:
        print(f"{articolo3[:20]}")
print("===============================")
for pippo in range(5):
	print (dati3pippo3)
	
print("---")
print(len(dati3))


backorder=Tk()
backorder.geometry('1350x610+5+5')
backorder.title('Backorder')
xscrollbar = Scrollbar(backorder)
yscrollbar = Scrollbar(backorder)
xscrollbar.pack(side = BOTTOM , fill = BOTH)
yscrollbar.pack(side = RIGHT , fill = BOTH)
#xmylist = Listbox(backorder, xscrollcommand = xscrollbar.set ,font = "Calibri 12 normal",fg="#ffffff",bg="blue")
ymylist = Listbox(backorder, yscrollcommand = yscrollbar.set, font = "Calibri 12 normal",fg="#ffffff",bg="blue")

for tony in range(len(dati3)):
	label_numero_ordine = Label(backorder,text = dati3tony2,font = "Calibri 10 normal", relief = SUNKEN , bd = 3 , width = 11)
	label_numero_ordine.place(x = 8 , y = 5+(35*tony))

	label_data_ordine = Label(backorder,text = dati3tony3,font = "Calibri 10 normal", relief = SUNKEN , bd = 3 , width = 11)
	label_data_ordine.place(x = 98 , y = 5+(35*tony))

	label_codice_articolo = Label(backorder,text = dati3tony4,font = "Calibri 10 normal", relief = SUNKEN , bd = 3 , width = 12)
	label_codice_articolo.place(x = 188 , y = 5+(35*tony))

	label_modello = Label(backorder,text = dati3tony12,font = "Calibri 10 normal", relief = SUNKEN , bd = 3 , width = 24)
	label_modello.place(x = 285 , y = 5+(35*tony))

	label_descrizione_articolo = Label(backorder,text = dati3tony5,font = "Calibri 10 normal", relief = SUNKEN , bd = 3 , width = 35)
	label_descrizione_articolo.place(x = 466 , y = 5+(35*tony))

	label_quantita_residua = Label(backorder,text = dati3tony6,font = "Calibri 10 normal", relief = SUNKEN , bd = 3 , width = 14)
	label_quantita_residua.place(x = 724 , y = 5+(35*tony))

	label_quantita_accantonata = Label(backorder,text = dati3tony7,font = "Calibri 10 normal", relief = SUNKEN , bd = 3 , width = 14)
	label_quantita_accantonata.place(x = 835 , y = 5+(35*tony))

	label_quantita_in_spedizione = Label(backorder,text = dati3tony8,font = "Calibri 10 normal", relief = SUNKEN , bd = 3 , width = 14)
	label_quantita_in_spedizione.place(x = 945 , y = 5+(35*tony))

	label_giacenza = Label(backorder,text = dati3tony14,font = "Calibri 10 normal", relief = SUNKEN , bd = 3 , width = 8)
	label_giacenza.place(x = 1055 , y = 5+(35*tony))

	label_ordinato_fornitore = Label(backorder,text = dati3tony15,font = "Calibri 10 normal", relief = SUNKEN , bd = 3 , width = 15)
	label_ordinato_fornitore.place(x = 1123 , y = 5+(35*tony))

	label_disponibilita = Label(backorder,text = dati3tony18,font = "Calibri 10 normal", relief = SUNKEN , bd = 3 , width = 10)
	label_disponibilita.place(x = 1241 , y = 5+(35*tony))

#	xmylist.insert(END)

#xmylist.pack(side = BOTTOM)# , expand=1)# side = LEFT,fill = BOTH # fill =BOTH , expand=1
#ymylist.pack(side = RIGHT)
yscrollbar.config( command = ymylist.yview )
#xscrollbar.config( command = xmylist.xview )

backorder.mainloop()
	

Spero che ora si capisca meglio quello vorrei fare.

Grazie

------
Alberto
Prova questo. Nel mio programma funzionano per visualizzare dei dati in una listbox.

# =============================== Scroll Bar ==========================================================
# Creo le scrollbar
xscrollbar = Scrollbar (lbDetailFrame, orient=HORIZONTAL)
xscrollbar.grid (row=1, column=0, sticky='we')

yscrollbar = Scrollbar (lbDetailFrame, orient=VERTICAL)
yscrollbar.grid (row=0, column=1, sticky='ns')

# creo la lista
dovutolist = Listbox (lbDetailFrame, width=70, height=7, font=('arial', 12, 'bold'), bg="white smoke",
fg="black", \
yscrollcommand=yscrollbar.set, xscrollcommand=xscrollbar.set)
#dovutolist.bind('<<ListboxSelect>>', SelectedRuolo)
dovutolist.grid (row=0, column=0, padx=8)
xscrollbar.config (command=dovutolist.xview)
yscrollbar.config (command=dovutolist.yview)



Pagina: 1



Esegui il login per scrivere una risposta.