Scrollbar - Länge anpassen

Fragen zu Tkinter.
Antworten
...
User
Beiträge: 116
Registriert: Mittwoch 23. Dezember 2009, 20:22

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,
...
dahaze
User
Beiträge: 75
Registriert: Freitag 13. März 2009, 10:57
Wohnort: im Schwabenland

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
...
User
Beiträge: 116
Registriert: Mittwoch 23. Dezember 2009, 20:22

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,
...
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

dahaze hat geschrieben:gridden
:D
Das Leben ist wie ein Tennisball.
dahaze
User
Beiträge: 75
Registriert: Freitag 13. März 2009, 10:57
Wohnort: im Schwabenland

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
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

... 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
Antworten