Seite 1 von 1

Scrollbar - Länge anpassen

Verfasst: Donnerstag 21. Januar 2010, 11:23
von ...
Hallo,


Ich habe eine Listbox und eine Scrollbar, und n paar Knöpfe und Entrys usw.
Das ganze befindet sich in einem Grid.

Code: Alles auswählen

listbox = Tix.Listbox(width='30', heigth='10')
for i in range(30):
    listbox.insert('end', i)
[... da kommt dann noch die Scrollbar, und die Verknüpfung, die erstklassig funktioniert...]
listbox.grid(0, 0)
scrollbar.grid(0, 1)
jetzt führ die Scrollbar da neben der Listbox aber ein ganz kümmerliches Dasein. Sie ist nicht einmal halb so groß wie die Listbox, aber fill scheint nicht zu funktionieren - ist das was pack-spezifisches?
Wenn ja, was ist das grid-pendant? Wenn nein, wie genau muss das Fill denn aussehen?
height='10' geht ja leider nicht, da die Scrollbar nur width hat... und die eigentlich ganz gut ist...

Hoffe auf eure Hilfe.


lg,
...

Verfasst: Donnerstag 21. Januar 2010, 12:10
von dahaze
Hallo!

Du musst bei gridden der Scrollbar zusätzlich noch die Option "sticky='ns'" mitgeben damit sich die Höhe der Scrollbar an die Höhe der Zelle anpasst.

Code: Alles auswählen

import Tkinter

root = Tkinter.Tk()

# Scrollbar erstellen
scrollbar = Tkinter.Scrollbar(root, orient='vertical')
scrollbar.grid(row=0, column=1, sticky='ns')

# Listbox erstellen
listbox = Tkinter.Listbox(root, width=30, height=10, yscrollcommand=scrollbar.set )
listbox.grid(row=0, column=0)

# Scrollbar an Listbox binden
scrollbar.config(command=listbox.yview)

# Listbox befüllen
for i in range(30):
    listbox.insert('end', i)


root.mainloop()
Gruß,
Simon

Verfasst: Donnerstag 21. Januar 2010, 12:14
von ...
Oh, ok... Danke!
Ich hatte in einer Dokumentation nur Kombinatoinen aus NW, NO, SO, SW oder diese einzeln gefunden. Aus dem grund hatte ich es nur mit S versucht.

NS Funktionert!

vielen dank,
...

EDIT:
Eine Frage hab ich noch: Wie kann ich das ganze noch an das Scrollrad binden?
Ich habe es geschafft, mit den Pfeiltasten durch die Liste manövrieren zu können, doppelklick und enter als Bestätigung zu verwenden...
Aber das Scrollrad fehlt noch.
Muss ich das über die Keycodes machen? Bzw. erkennt Python die Scrollrad-Keycodes?

lg,
...

Verfasst: Donnerstag 21. Januar 2010, 12:40
von EyDu
dahaze hat geschrieben:gridden
:D

Verfasst: Donnerstag 21. Januar 2010, 13:46
von dahaze
Einfach mal die Suchfunktion nutzen.... :wink:
http://www.python-forum.de/topic-19663.html

@EyDu:
natürlich gridden! :wink: Oder wie würdest du dazu sagen? :D

Verfasst: Donnerstag 21. Januar 2010, 15:12
von numerix
... hat geschrieben:Muss ich das über die Keycodes machen? Bzw. erkennt Python die Scrollrad-Keycodes?
Das hängt vom Betriebssystem ab. Einzelheiten findest du hier: http://infohost.nmt.edu/tcc/help/pubs/t ... types.html