Scrollbar in Tkinter Label?

Fragen zu Tkinter.
Antworten
DMD-OL
User
Beiträge: 315
Registriert: Samstag 26. Dezember 2015, 16:21

hey
wie kann man in ein normales Tkinter Fenster eine Scrollbar einfügen?
BlackJack

@DMD-OL: Scrollbars gehen nur bei `Listbox`, `Text`, und `Canvas`. Alles andere muss man sich mit `Canvas` und `Scrollbar` selber basteln.
DMD-OL
User
Beiträge: 315
Registriert: Samstag 26. Dezember 2015, 16:21

hab schon ein bisschen angefangen...
kriegs aber nicht hin, die Spalten korrekt untereinander anzuordnen

Code: Alles auswählen

#!/usr/bin/env python
# coding: utf-8

import Tkinter
from Tkinter import *
import Tkinter as tk
import locale
from time import *
import datetime
import ttk
import calendar
import datetime as dt
import tkFont
import tkMessageBox
import os
import sqlite3
import tkFileDialog
import errno
import numpy
import sys
#reload(sys)
#sys.setdefaultencoding('UTF8')


dat_List=[[u'Di, 01.03.2016'], [u'Mi, 02.03.2016'], [u'Do, 03.03.2016'], [u'Fr, 04.03.2016'], [u'Sa, 05.03.2016'], [u'So, 06.03.2016'], [u'Mo, 07.03.2016'], [u'Di, 08.03.2016'], [u'Mi, 09.03.2016'], [u'Do, 10.03.2016'], [u'Fr, 11.03.2016'], [u'Sa, 12.03.2016'], [u'So, 13.03.2016'], [u'Mo, 14.03.2016'], [u'Di, 15.03.2016'], [u'Mi, 16.03.2016'], [u'Do, 17.03.2016'], [u'Fr, 18.03.2016'], [u'Sa, 19.03.2016'], [u'So, 20.03.2016'], [u'Mo, 21.03.2016'], [u'Di, 22.03.2016'], [u'Mi, 23.03.2016'], [u'Do, 24.03.2016'], [u'Fr, 25.03.2016'], [u'Sa, 26.03.2016'], [u'So, 27.03.2016'], [u'Mo, 28.03.2016'], [u'Di, 29.03.2016'], [u'Mi, 30.03.2016'], [u'Do, 31.03.2016']]
daten_List=[[u'Datum', u'Feld 1', u'Feld 2', u'Feld 3', u'Feld 4', u'Feld 5', u'Feld 6', u'Feld 7', u'Feld 8',u'Feld 9'],[u'Datum', u'Feld 1', u'Feld 2', u'Feld 3', u'Feld 4', u'Feld 5', u'Feld 6', u'Feld 7', u'Feld 8',u'Feld 9'],[u'Datum', u'Feld 1', u'Feld 2', u'Feld 3', u'Feld 4', u'Feld 5', u'Feld 6', u'Feld 7', u'Feld 8',u'Feld 9']]

uet_fenster = Tkinter.Tk()
uet_fenster.geometry('+100+5')

l_uet1 = Tkinter.Label(uet_fenster,text=('Datum'),font=('Arial', 9, 'bold'),height=1,width=18, relief="ridge",  bg="#ddddddddd", fg="#000000000", justify='center')
l_uet1.grid(row=8, column=0, rowspan = 2, ipady=10)
l_uet2 = Tkinter.Label(uet_fenster,text=('Feld 1'),font=('Arial', 9, 'bold'),height=1,width=18, relief="ridge",  bg="#ddddddddd", fg="#000000000", justify='center')
l_uet2.grid(row=8, column=1, rowspan = 2, ipady=10)
l_uet3 = Tkinter.Label(uet_fenster,text=('Feld 2'),font=('Arial', 9, 'bold'),height=1,width=18, relief="ridge",  bg="#ddddddddd", fg="#000000000", justify='center')
l_uet3.grid(row=8, column=2, rowspan = 2, ipady=10)
l_uet4 = Tkinter.Label(uet_fenster,text=('Feld 3'),font=('Arial', 9, 'bold'),height=1,width=18, relief="ridge",  bg="#ddddddddd", fg="#000000000", justify='center')
l_uet4.grid(row=8, column=3, rowspan = 2, ipady=10)
l_uet5 = Tkinter.Label(uet_fenster,text=('Feld 4'),font=('Arial', 9, 'bold'),height=1,width=18, relief="ridge",  bg="#ddddddddd", fg="#000000000", justify='center')
l_uet5.grid(row=8, column=4, rowspan = 2, ipady=10)
l_uet6 = Tkinter.Label(uet_fenster,text=('Feld 5'),font=('Arial', 9, 'bold'),height=1,width=18, relief="ridge",  bg="#ddddddddd", fg="#000000000", justify='center')
l_uet6.grid(row=8, column=5, rowspan = 2, ipady=10)
l_uet7 = Tkinter.Label(uet_fenster,text=('Feld 6'),font=('Arial', 9, 'bold'),height=1,width=18, relief="ridge",  bg="#ddddddddd", fg="#000000000", justify='center')
l_uet7.grid(row=8, column=6, rowspan = 2, ipady=10)
l_uet8 = Tkinter.Label(uet_fenster,text=('Feld 7'),font=('Arial', 9, 'bold'),height=1,width=18, relief="ridge",  bg="#ddddddddd", fg="#000000000", justify='center')
l_uet8.grid(row=8, column=7, rowspan = 2, ipady=10)
l_uet9 = Tkinter.Label(uet_fenster,text=('Feld 8'),font=('Arial', 9, 'bold'),height=1,width=18, relief="ridge",  bg="#ddddddddd", fg="#000000000", justify='center')
l_uet9.grid(row=8, column=8, rowspan = 2, ipady=10)
l_uet10 = Tkinter.Label(uet_fenster,text=('Feld 9'),font=('Arial', 9, 'bold'),height=1,width=18, relief="ridge",  bg="#ddddddddd", fg="#000000000", justify='center')
l_uet10.grid(row=8, column=9, rowspan = 2, ipady=10)

def myfunction(event):
    canvas.configure(scrollregion=canvas.bbox("all"),width=200,height=200)

myframe=Frame(uet_fenster,relief=GROOVE,width=500,height=100,bd=1)
myframe.grid(row=row+10, column=column)

canvas=Canvas(myframe)
frame=Frame(canvas)
myscrollbar=Scrollbar(myframe,orient="vertical",command=canvas.yview)
canvas.configure(yscrollcommand=myscrollbar.set)

myscrollbar.pack(side="right",fill="y")
canvas.pack(side="left")
canvas.create_window((0,0),window=frame,anchor='n')
frame.bind("<Configure>",myfunction)

for row, items in enumerate(dat_List):
    for column, item in enumerate(items):
        l_uet23 = Tkinter.Label(frame,text=(item),font=('Arial', 9, 'bold'), width=18, relief="raised", bg='#cdc8b1', fg="#000000000", justify='center')
        l_uet23.grid(row=row+10, column=column)

for row, items in enumerate(daten_List):
    for column, item in enumerate(items):
        v = Tkinter.StringVar()
        v.set(item)
        en = Tkinter.Entry(frame, textvariable = v, width=18, relief="raised",font=('Arial', 9, 'bold'),  bg='#eeeee0', fg="#000000000", justify='center')
        en.grid(row=row+10, column=column+1)

uet_fenster.mainloop()


DMD-OL
User
Beiträge: 315
Registriert: Samstag 26. Dezember 2015, 16:21

hat keiner einen tip für mich vielleicht?
Antworten