Scrollleiste Schieberegler lässt sich schieben aber scrollt nicht

Fragen zu Tkinter.
Antworten
splaty
User
Beiträge: 9
Registriert: Sonntag 12. September 2021, 11:38

Sonntag 12. September 2021, 11:52

Hallo ich habe folgendes anliegen ich habe ein Prgramm geschreiben mit Tkinter geschreibenich, möchte es Scrollbar machen habe aber bis jetzt nur ereicht das die Leiste zwar da ist aber der Schieberegler nicht richtig funktioniert sie springt nach loslassen der maustaste wieder zurück wobei sich das programm sich auch nicht verschiebt(scrollt) (falls es hilft ich habe kein Frame ich möchte das im Fenster machen) ich dachte mir das es viellicht probleme mit den komponenten pack und place gebe. Wenn es irgendwelche rechtschreibfehler gibt entschuldige ich mich jetzt schon einmal ich bin erst 12. Es wäre auch nett wenn sie mir das auch verständlich zeigen könnten .

Hir ist der Code den ich bis jetzt geschreiben habe die bilder kann nicht natürlich nicht mit dazu tun

dieser Teil könnte aber auch unintersant sein da es der ganze code ist wollte es nur zur sicherheit rein machen

from tkinter import *
from tkinter import messagebox


def Exit():
if messagebox.askyesno('Frage', 'Hat ein Nissan Skyline R34 GTR '
'einen RB26DETT wenn du es richtig'
' hast darfst du gehen'):
fenster.quit()
fenster.destroy()


def JDM():
m_text = "\
Japanese Domestic Market\n\
Autos Die Speziel für den Japansichen\n\
Japansichen Markt gedacht sind\n\
Bekannt in der Tuning Szene "
messagebox.showinfo(message=m_text, title="Infos über JDM ")


def sx180():
m_text = "\
______________________________\n\
4Zylinder, 2.0L, Turbo SR20DET\n\
205PS, 6.5s/km/h,\n\
1.2t, 274NM\n\
______________________________"
messagebox.showinfo(message=m_text, title="Infos über Nissan 180SX ")


# 200sx
def sx200():
m_text = "\
______________________________\n\
4Zylinder, 2.0L, Turbo SR20DET\n\
205PS, 6.5s/km/h,\n\
1.2t, 274NM\n\
_______________________________"
messagebox.showinfo(message=m_text, title="Infos über Nissan 200SX ")


def sx240():
m_text = "\
______________________________\n\
4Zylinder, 2.0L, Turbo SR20DET\n\
205PS, 6.5s/km/h,\n\
1.2t, 274NM\n\
______________________________"
messagebox.showinfo(message=m_text, title="Infos über Nissan 240SX ")


def zx280():
m_text = "\
______________________________\n\
4Zylinder, 2.0L, Turbo SR20DET\n\
205PS, 6.5s/km/h,\n\
1.2t, 274NM\n\
______________________________"
messagebox.showinfo(message=m_text, title="Infos über Nissan 280SX ")


def zx300():
m_text = "\
______________________________\n\
V6, 3.0L, twinturbo VG30DETT\n\
205PS, 6.5s/km/h,\n\
1.2t, 274NM\n\
______________________________"
messagebox.showinfo(message=m_text, title="Infos über Nissan 300zx ")


# z370
def z350z():
m_text = "\
______________________________\n\
V6, 3.5L, VQ35DE\n\
280PS, 5.9s/km/h,\n\
1.6t, 363NM\n\
______________________________"
messagebox.showinfo(message=m_text, title="Infos über Nissan 300zx ")


# 370z
def z370z():
m_text = "\
______________________________\n\
V6, 3.7L, twinturbo VQ37VHR\n\
331PS, 5.3s/km/h,\n\
1.6t, 366NM\n\
______________________________"
messagebox.showinfo(message=m_text, title="Infos über Nissan 300zx ")


def s14():
m_text = "\
______________________________\n\
4Zylinder, 2.0L, Turbo SR20DET\n\
200PS, 6.5s/km/h,\n\
1.2t, 274NM\n\
_______________________________"
messagebox.showinfo(message=m_text, title="Infos über Nissan 200SX ")


def s15():
m_text = "\
______________________________\n\
4Zylinder, 2.0L, Turbo SR20DET \n\
214PS, 6.5s/km/h\n\
1.2t, 274NM, \n\
_______________________________"
messagebox.showinfo(message=m_text, title="Infos über Nissan 200SX ")


# eclipse
def eclipse():
m_text = "\
______________________________\n\
GSX/GS-T/GST spyder:\n\
4Zylinder, 2.0L, Turbo \n\
214PS, 6.5s/km/h\n\
1.4t, 220km/h\n\
\n\
GS Spyder:\n\
2.4L, 143PS\n\
1.4t, 1995-2000\n\
_______________________________"
messagebox.showinfo(message=m_text, title="Infos über Nissan 200SX ")


def lancer1():
m_text = "\
4Zylinder, 2.0L, Turbo 4G63T\n\
247PS, 309NM, 1.2t"
messagebox.showinfo(message=m_text, title="Infos über Mitsubishi Lancer Evolution 1 ")


def lancer2():
m_text = "\
4Zylinder, 2.0L, Turbo 4G63T\n\
252PS, 309NM, 1.2t"
messagebox.showinfo(message=m_text, title="Infos über Mitsubishi Lancer Evolution 2 ")


def lancer3():
m_text = "\
4Zylinder, 2.0L, Turbo 4G63T\n\
270PS, 309NM, 1.2t"
messagebox.showinfo(message=m_text, title="Infos über Mitsubishi Lancer Evolution 3 ")


def lancer4():
m_text = "\
4Zylinder, 2.0L, Turbo 4G63T\n\
276PS, 309NM, 1.3t"
messagebox.showinfo(message=m_text, title="Infos über Mitsubishi Lancer Evolution 4 ")


def lancer5():
m_text = "\
4Zylinder, 2.0L, Turbo 4G63T\n\
276PS, 309NM, 1.3t"
messagebox.showinfo(message=m_text, title="Infos über Mitsubishi Lancer Evolution 5 ")


def lancer6():
m_text = "\
Reihenvierzylinder, 2.0L, Turbo 4G63\n\
280PS, 309NM, 1.3t"
messagebox.showinfo(message=m_text, title="Infos über Mitsubishi Lancer Evolution 6 ")


def lancer7():
m_text = "\
4Zylinder, 2.0L, Turbo 4G63\n\
276PS, 309NM, 1.35t"
messagebox.showinfo(message=m_text, title="Infos über Mitsubishi Lancer Evolution 7 ")


def lancer8():
m_text = "\
4Zylinder, 2.0L, Turbo 4G63T\n\
280PS, 309NM, 1.36t"
messagebox.showinfo(message=m_text, title="Infos über Mitsubishi Lancer Evolution 8 ")


def lancer9():
m_text = "\
4Zylinder, 2.0L, Turbo 4G63T\n\
291PS, 309NM, 1.4t"
messagebox.showinfo(message=m_text, title="Infos über Mitsubishi Lancer Evolution 9 ")


def lancer10():
m_text = "\
4Zylinder, 2.0L, Turbo 4G63T\n\
309PS, 409NM, 1.4t"
messagebox.showinfo(message=m_text, title="Infos über Mitsubishi Lancer Evolution 10 ")


# rx7
def rx7():
m_text = "\
_____________________________\n\
3zylinder Wankelmotor, 1,3L, 250PS \n\
1,3t, 5.3 s/ 270 KM/h\n\
______________________________"
messagebox.showinfo(message=m_text, title="Infos über Mazda RX7")


# NSX
def NSX():
m_text = "\
_____________________________\n\
V6, 5GM E, 274PS, 3.0L \n\
1,4t, 5.9 s/ 270 KM/h\n\
5-Gang\n\
______________________________"
messagebox.showinfo(message=m_text, title="Infos über (Honda) Acura NSX")


# miata
def miata():
m_text = "\
_____________________________\n\
vierzylinder ottomotor, 131PS, 1.8L \n\
1t, 8.2 s/ 197 KM/h\n\
5-Gang\n\
______________________________"
messagebox.showinfo(message=m_text, title="Infos über Mazda MX5 (Miata)")


def civc():
m_text = "\
_____________________________\n\
Reihenvierzylinder, 1.6L, B16B \n\
1t, 6.8 s/ 235 KM/h\n\
5-Gang, 186PS\n\
______________________________"
messagebox.showinfo(message=m_text, title="Infos über Honda civic EJ9")


def ae86():
m_text = "\
_____________________________\n\
4zylinder 16v, JT2AE 88, 112PS \n\
1t, 5.9 s/ 195 KM/h\n\
5-Gang\n\
______________________________"
messagebox.showinfo(message=m_text, title="Infos über (Honda) Acura NSX")


def s2k():
m_text = "\
_____________________________\n\
reihenvierzylinder,16v, 241PS \n\
1.3t, 6.2 s/100\n\
5-Gang\n\
______________________________"
messagebox.showinfo(message=m_text, title="Infos über (Honda) Acura NSX")


# Nissan Skyline

def skyline_r30():
m_text = "\
_____________________________\n\
RS2000 Turbo:\n\
4 Zylinder Turbo 2,0L \n\
1,2t,180 km/h 250NM\n\
\n\
2000SR:\n\
Reihenvierzylinder Turbo, 2.0L 150PS\n\
1.2t, 180Km/h\n\
\n\
2000:\n\
Reihensechszylinder, 2.0L, 145PS\n\
1.25t, 180Km/h\n\
\n\
1800E:\n\
Reihenvierzylinder, 1.8L, 115PS\n\
1.1t, 170Km/h\n\
\n\
1800:\n\
Reihenvierzylinder, 1.8L 100PS \n\
1.1t, 165Km/h\n\
Diesel:\n\
Reihensechzylinder, 2.8L, 91PS\n\
1.1t, 165Km/h \n\
______________________________"
messagebox.showinfo(message=m_text, title="Infos über Nissan Skyline R30 ")


def skyline_r31():
m_text = "\
_____________________________\n\
GTS Turbo DOHC-24\n\
Reihensechszylinder, RB20DET, 180PS, 2.0L, 24v \n\
1.2t, 200Km/h\n\
\n\
GTS 2000 DOHC-24:\n\
Reihensechzylinder, RB20DE, 2.0L, 165PS\n\
1.3t, 190Km/h\n\
\n\
GTS2000:\n\
Reihensechszylinder, RB20E, 2.0L, 130 PS\n\
1.3t, 170Km\h\n\
______________________________"
messagebox.showinfo(message=m_text, title="Infos über Nissan Skyline R31 ")


def skyline_r33():
m_text = "\
_____________________________\n\
GTR:\n\
Reihensechszylinder, RB26DETT, 280PS, 2,6L \n\
1,54t,5,5Kg/ps, 4.7 s/100KM/h\n\
\n\
Turbo:\n\
Reihensechszylinder, RB25DET, 250PS, 2.5L\n\
240km/h, 1.36-1.38t\n\
\n\
2500:\n\
Reihensechszylinder, RB25DE, 200PS, 2.5L\n\
1.31-1.36t, 210Km/h\n\
\n\
2000:\n\
Reihensechszylinder, RB20E, 130PS, 2.0L\n\
1.27t, 190-200km/h\n\
______________________________"
messagebox.showinfo(message=m_text, title="Infos über Nissan Skyline R33 ")


def skyline_r32():
m_text = "\
_____________________________\n\
Reihensechszylinder, RB26DETT, 280PS, 2,6L \n\
1,43t,5,5Kg/ps, 4.7 s/100KM/h\n\
V-Spec,-2Nür,M-Spec Nür\n\
\n\
GTST:\n\
Reihensechszylinder, RB20DET, 215PS, 2.0L\n\
\n\
RB20DE:\n\
Reihensechszylinder, RB20DE, 155PS\n\
\n\
RB20E:\n\
Reihensechszylinder, RB20E, 125PS\n\
______________________________"
messagebox.showinfo(message=m_text, title="Infos über Nissan Skyline R32 ")


def skyline_r34():
m_text = "\
_____________________________\n\
R34 GTR:\n\
Reihensechszylinder, RB26DETT, 280PS, 2,6L \n\
1,5t,5,5Kg/ps, 4.7 s/100KM/h\n\
(V-spec 2 Nür= Carbon Motorhaube)\n\
\n\
R34 GTT:\n\
Reihensechszylinder, Rb25DET NEO, 280 PS,2.5L\n\
1.4t , 5.9s/100KM/h\n\
\n\
R34 GT:\n\
Reihensechszylinder, RB25DE/RB20DE, 155-200PS, 2.0-2.5L \n\
1.3t, 7.9-9s/Km/h\n\
______________________________"
messagebox.showinfo(message=m_text, title="Infos über Nissan Skyline R34 ")


def skyline_r35():
m_text = "\
_____________________________\n\
Reihensechszylinder, VR38DETT, 570, 3.8L \n\
1,8t, 2.8 s/100KM/h\n\
______________________________"
messagebox.showinfo(message=m_text, title="Infos über Nissan Skyline R35 GTR")


# Toyota supra

def supramk1():
m_text = "\
_____________________________\n\
145PS,1978-1981 \n\
Motor 1: 2.6L Sechszylinder, 110PS, 4M-E\n\
Motor 2: 2.0L sechszylinder, 145PS MT-E\n\
______________________________"
messagebox.showinfo(message=m_text, title="Infos über Toyota Supra MK1")


def supramk2():
m_text = "\
_____________________________\n\
Reihensechszylinder, 5GM E, 170PS, 2,8L \n\
1,5t,5,5Kg/ps, 8.7 s/ 210 KM/h\n\
1225KG, 5-Gang\n\
______________________________"
messagebox.showinfo(message=m_text, title="Infos über Toyota Supra MK2")


def supramk3():
m_text = "\
_____________________________\n\
Reihensechszylinder, 7M GTE Turbo A, 270PS, 3.0L \n\
1.55t , 6.3 s/100KM/h\n\
1G-GTE, 1JZ-GTE, 7M-GE, 7M-GTE\n\
______________________________"
messagebox.showinfo(message=m_text, title="Infos über Toyota Supra MK3")


def supramk4():
m_text = "\
_____________________________\n\
Reihensechszylinder, 2JZGTE, 330PS, 3.0L \n\
1,6t, 6.3 s/100KM/h\n\
2JTGE, 2JZGTE\n\
______________________________"
messagebox.showinfo(message=m_text, title="Infos über Toyota Supra MK4")


def supramk5():
m_text = "\
_____________________________\n\
R6 Ottomotor, 340PS, 3.0L \n\
1.5t, 4.3 s/100KM/h\n\
B48, B58\n\
______________________________"
messagebox.showinfo(message=m_text, title="Infos über Toyota Supra Mk5")


def subarubrz():
m_text = "\
_____________________________\n\
4 Zylinder Boxermotor, FA20D, 200PS, 2.0L \n\
Schaltgertiebe: 226Km/h, 8,2s/100Km/h\n\
Automatik:210 km/h, 7,6km/h \n\
______________________________"
messagebox.showinfo(message=m_text, title="Infos über Subaru BRZ/GT86")


def subaru1():
m_text = "\
_____________________________\n\
4 Zylinder Boxermotor, EJ2, 280PS, 2.5L \n\
1.2t, 4.2 s/100KM/h\n\
. \n\
______________________________"
messagebox.showinfo(message=m_text, title="Infos über Subaru WRX MK1")


def subaru2():
m_text = "\
_____________________________\n\
4 Zylinder Boxermotor, EJ2, 300PS, 2.0L \n\
1.2t-1.4T\n\
. \n\
______________________________"
messagebox.showinfo(message=m_text, title="Infos über Subaru WRX MK2")


def subaru3():
m_text = "\
_____________________________\n\
4 Zylinder Boxermotor ,EJ257 ,280PS, 2.5L \n\
1.2t, 5.4 s/100KM/h\n\
235Km/h \n\
______________________________"
messagebox.showinfo(message=m_text, title="Infos über Subaru WRX MK3")


def subaru4():
m_text = "\
_____________________________\n\
4 Zylinder Boxermotor, EJ2, 280PS, 2.5L \n\
1.3t, 4.2 s/100KM/h\n\
. \n\
______________________________"
messagebox.showinfo(message=m_text, title="Infos über Subaru WRX MK4")


def button_action():
m_text = "\
************************\n\
Autor: Cazimir Theodor Leupold\n\
Date: 26.08.2021\n\
Version: 1.1\n\
************************"
messagebox.showinfo(message=m_text, title="Wer weiß das alles")


def hilfe():
m_text = "\
************************\n\
Brauchst du Hilfe\n\
du bekommst \n\
\n\
\n\
\n\
\n\
\n\
\n\
\n\
\n\
\n\
\n\
\n\
\n\
Was auf die Fresse\n\
************************"
messagebox.showinfo(message=m_text, title="Wer weiß das alles")


fenster = Tk()
fenster.config(background='#ffffff') # Farbe auswählen
fenster.geometry('1920x1080+0+0') # Größe festlegen in pixeln

scrollbar = Scrollbar(fenster)
scrollbar.pack(side=RIGHT, fill=Y)

mylist = Listbox(fenster, yscrollcommand=scrollbar.set)
#for line in range(100):
#mylist.insert(END, "This is line number " + str(line))

#mylist.pack(side=LEFT, fill=BOTH)
scrollbar.config(command=fenster)

#


fenster.title("Autoliste") # Programmname
info_text = Label(fenster, font=("Arial 30"), fg="Black", bg='#B0E2FF', relief=RIDGE, text="Ich habe dieses Programm geschrieben,\n\
für Menschen die nichts über Autos wissen,")
info_text.pack()
# rechtecke machen mit knöpfen
#orange1 = Label(fenster, font=("Arial 30"), fg="Black", bg='#87CEFA')
#orange1.place(x=0, y=0, width=576, height=235)
#orange2 = Label(fenster, font=("Arial 30"), fg="Black", bg='#87CEFA')
#orange2.place(x=1340, y=0, width=700, height=235)
#orange3 = Label(fenster, font=("Arial 30"), fg="Black", bg='#8DB6CD')
#orange3.place(x=0, y=230, width=3000, height=3000)
#orange4 = Label(fenster, font=("Arial 30"), fg="Black", bg='#87CEFA')
#orange4.place(x=570, y=95, width=900, height=135)

skylinetxt = Label(fenster, fg="Black", text='Nissan', )
skylinetxt.place(x=50, y=200, width=50, height=35)

# Menüleiste erstellen
menuleiste = Menu(fenster)

# Menü Datei und Help erstellen
datei_menu = Menu(menuleiste, tearoff=0)
help_menu = Menu(menuleiste, tearoff=0)
Japanisch_menu = Menu(menuleiste, tearoff=0)

# MK1
click_btn_rx7 = PhotoImage(file='rx7.png')
img_label_rx7 = Label(image=click_btn_rx7)
rx7 = Button(fenster, image=click_btn_rx7, command=rx7,
borderwidth=5)
rx7.pack(pady=30)
rx7.place(x=15, y=60, width=250, height=45)

# AE86
click_btn_86 = PhotoImage(file='ae86.png')
img_label_86 = Label(image=click_btn_86)
e86 = Button(fenster, image=click_btn_86, command=ae86,
borderwidth=5)
e86.pack(pady=30)
e86.place(x=350, y=550, width=250, height=45)

# miata
click_btn_mia = PhotoImage(file='miata.png')
img_label_mia = Label(image=click_btn_mia)
miat = Button(fenster, image=click_btn_mia, command=miata,
borderwidth=5)
miat.pack(pady=30)
miat.place(x=15, y=150, width=250, height=45)

# NSX
click_btn_NSX = PhotoImage(file='NSX.png')

# Let us create a label for button event
img_label_NSX = Label(image=click_btn_NSX)

# Let us create a dummy button and pass the image
NSX = Button(fenster, image=click_btn_NSX, command=NSX,
borderwidth=5)
NSX.pack(pady=30)
NSX.place(x=15, y=15, width=250, height=45)

# civic
click_btn_9 = PhotoImage(file='civic .png')
img_label_9 = Label(image=click_btn_9)
civic = Button(fenster, image=click_btn_9, command=civc,
borderwidth=5)
civic.pack(pady=30)
civic.place(x=15, y=105, width=250, height=45)

# s2k
click_btn_s2 = PhotoImage(file='s2k.png')

# Let us create a label for button event
img_label_s2 = Label(image=click_btn_s2)

# Let us create a dummy button and pass the image
h2k = Button(fenster, image=click_btn_s2, command=s2k,
borderwidth=5)
h2k.pack(pady=30)
h2k.place(x=265, y=15, width=250, height=45)
# r30
click_btn_30 = PhotoImage(file='r30.png')

# Let us create a label for button event
img_label_30 = Label(image=click_btn_30)

# Let us create a dummy button and pass the image
R30GTR = Button(fenster, image=click_btn_30, command=skyline_r30,
borderwidth=5)
R30GTR.pack(pady=30)
R30GTR.place(x=50, y=250, width=250, height=45)

# r31

click_btn_31 = PhotoImage(file='r31.png')

# Let us create a label for button event
img_label_31 = Label(image=click_btn_31)

# Let us create a dummy button and pass the image
R31GTR = Button(fenster, image=click_btn_31, command=skyline_r31,
borderwidth=5)
R31GTR.pack(pady=5)
R31GTR.place(x=50, y=300, width=250, height=45)

# r32
click_btn_32 = PhotoImage(file='r32.png')

# Let us create a label for button event
img_label_32 = Label(image=click_btn_32)

# Let us create a dummy button and pass the image
R32GTR = Button(fenster, image=click_btn_32, command=skyline_r32,
borderwidth=5)
R32GTR.pack(pady=30)
R32GTR.place(x=50, y=350, width=250, height=45)

# r33

# Import the image using PhotoImage function
click_btn_33 = PhotoImage(file='r33.png')

# Let us create a label for button event
img_label_33 = Label(image=click_btn_33)

# Let us create a dummy button and pass the image
R33GTR = Button(fenster, image=click_btn_33, command=skyline_r33,
borderwidth=5)
R33GTR.pack(pady=30)
R33GTR.place(x=50, y=400, width=250, height=45)

# r34

# Import the image using PhotoImage function
click_btn_34 = PhotoImage(file='r34.png')

# Let us create a label for button event
img_label_34 = Label(image=click_btn_34)

# Let us create a dummy button and pass the image
R34GTR = Button(fenster, image=click_btn_34, command=skyline_r34,
borderwidth=5)
R34GTR.pack(pady=30)
R34GTR.place(x=50, y=450, width=250, height=45)

# r35

click_btn_35 = PhotoImage(file='R35.png')

# Let us create a label for button event
img_label_35 = Label(image=click_btn_35)

# Let us create a dummy button and pass the image
R35GTR = Button(fenster, image=click_btn_35, command=skyline_r35,
borderwidth=5)
R35GTR.pack(pady=30)
R35GTR.place(x=50, y=500, width=250, height=45)

# Toyota Supra#Toyota Supra#Toyota Supra#Toyota Supra#Toyota Supra#Toyota Supra#Toyota Supra#Toyota Supra#Toyota Supra#Toyota Supra#Toyota Supra#Toyota Supra#Toyota Supra#Toyota Supra

# MK1
click_btn_1 = PhotoImage(file='mk1.png')
img_label_1 = Label(image=click_btn_1)
MK1 = Button(fenster, image=click_btn_1, command=supramk1, borderwidth=5)
MK1.pack(pady=30)
MK1.place(x=350, y=250, width=250, height=45)

# MK2

click_btn_2 = PhotoImage(file='Mk2.png')
img_label_2 = Label(image=click_btn_2)
MK2 = Button(fenster, image=click_btn_2, command=supramk2, borderwidth=5)
MK2.pack(pady=30)
MK2.place(x=350, y=300, width=250, height=45)

# MK3

click_btn_3 = PhotoImage(file='MK3.png')
img_label_3 = Label(image=click_btn_3)
MK3 = Button(fenster, image=click_btn_3, command=supramk3, borderwidth=5)
MK3.pack(pady=30)
MK3.place(x=350, y=350, width=250, height=45)

# MK4

click_btn_4 = PhotoImage(file='MK4.png')
img_label_4 = Label(image=click_btn_4)
MK4 = Button(fenster, image=click_btn_4, command=supramk4, borderwidth=5)
MK4.pack(pady=30)
MK4.place(x=350, y=400, width=250, height=45)

# MK5

click_btn_5 = PhotoImage(file='MK5.png')
img_label_5 = Label(image=click_btn_5)
MK5 = Button(fenster, image=click_btn_5, command=supramk5, borderwidth=5)
MK5.pack(pady=30)
MK5.place(x=350, y=450, width=250, height=45)

click_btn_brz = PhotoImage(file='brz.png')
img_label_brz = Label(image=click_btn_brz)
MKbrz = Button(fenster, image=click_btn_brz, command=supramk3, borderwidth=5)
MKbrz.pack(pady=30)
MKbrz.place(x=350, y=500, width=250, height=45)

# subaru#subaru#subaru#subaru#subaru#subaru#subaru#subaru#subaru#subaru#subaru#subaru#subaru#subaru#subaru#subaru#subaru#subaru#subaru

# MK1
click_btn_u1 = PhotoImage(file='97-98.png')
img_label_u1 = Label(image=click_btn_u1)
subaru_1 = Button(fenster, image=click_btn_u1, command=subaru1,
borderwidth=5)
subaru_1.pack(pady=30)
subaru_1.place(x=650, y=250, width=250, height=45)

# MK2

click_btn_u2 = PhotoImage(file='98-99.png')
img_label_u2 = Label(image=click_btn_u2)
subaru_2 = Button(fenster, image=click_btn_u2, command=subaru2,
borderwidth=5)
subaru_2.pack(pady=30)
subaru_2.place(x=650, y=300, width=250, height=45)

# MK3

click_btn_u3 = PhotoImage(file='2005.png')
img_label_u3 = Label(image=click_btn_u3)
subaru_3 = Button(fenster, image=click_btn_u3, command=subaru3,
borderwidth=5)
subaru_3.pack(pady=30)
subaru_3.place(x=650, y=350, width=250, height=45)

# MK4

click_btn_u4 = PhotoImage(file='4.png')
img_label_u4 = Label(image=click_btn_u4)
subaru_4 = Button(fenster, image=click_btn_u4, command=subaru4,
borderwidth=5)
subaru_4.pack(pady=30)
subaru_4.place(x=650, y=400, width=250, height=45)

# lancer evolution

# lancer1
click_btn_evo1 = PhotoImage(file='evo1.png')
img_label_evo1 = Label(image=click_btn_evo1)
evo1 = Button(fenster, image=click_btn_evo1, command=lancer1, borderwidth=5)
evo1.pack(pady=30)
evo1.place(x=950, y=250, width=250, height=45)

# lancer2
click_btn_evo2 = PhotoImage(file='evo2.png')
img_label_evo2 = Label(image=click_btn_evo2)
evo2 = Button(fenster, image=click_btn_evo2, command=lancer2, borderwidth=5)
evo2.pack(pady=30)
evo2.place(x=950, y=300, width=250, height=45)

# lancer3
click_btn_evo3 = PhotoImage(file='evo3.png')
img_label_evo3 = Label(image=click_btn_evo3)
evo3 = Button(fenster, image=click_btn_evo3, command=lancer3, borderwidth=5)
evo3.pack(pady=30)
evo3.place(x=950, y=350, width=250, height=45)

# lancer4
click_btn_evo4 = PhotoImage(file='evo4.png')
img_label_evo4 = Label(image=click_btn_evo4)
evo4 = Button(fenster, image=click_btn_evo4, command=lancer4, borderwidth=5)
evo4.pack(pady=30)
evo4.place(x=950, y=400, width=250, height=45)

# lancer5
click_btn_evo5 = PhotoImage(file='evo5.png')
img_label_evo5 = Label(image=click_btn_evo5)
evo5 = Button(fenster, image=click_btn_evo5, command=lancer5, borderwidth=5)
evo5.pack(pady=30)
evo5.place(x=950, y=450, width=250, height=45)

# lancer6
click_btn_evo6 = PhotoImage(file='evo6.png')
img_label_evo6 = Label(image=click_btn_evo6)
evo6 = Button(fenster, image=click_btn_evo6, command=lancer6, borderwidth=5)
evo6.pack(pady=30)
evo6.place(x=950, y=500, width=250, height=45)

# lancer7
click_btn_evo7 = PhotoImage(file='evo7.png')
img_label_evo7 = Label(image=click_btn_evo7)
evo7 = Button(fenster, image=click_btn_evo7, command=lancer7, borderwidth=5)
evo7.pack(pady=30)
evo7.place(x=950, y=550, width=250, height=45)

# lancer8
click_btn_evo8 = PhotoImage(file='evo8.png')
img_label_evo8 = Label(image=click_btn_evo8)
evo8 = Button(fenster, image=click_btn_evo8, command=lancer8, borderwidth=5)
evo8.pack(pady=30)
evo8.place(x=950, y=600, width=250, height=45)

# lancer9
click_btn_evo9 = PhotoImage(file='evo9.png')
img_label_evo9 = Label(image=click_btn_evo9)
evo9 = Button(fenster, image=click_btn_evo9, command=lancer9, borderwidth=5)
evo9.pack(pady=30)
evo9.place(x=950, y=650, width=250, height=45)

# lancer10
click_btn_evo10 = PhotoImage(file='evo10.png')
img_label_evo10 = Label(image=click_btn_evo10)
evo10 = Button(fenster, image=click_btn_evo10, command=lancer10, borderwidth=5)
evo10.pack(pady=30)
evo10.place(x=950, y=700, width=250, height=45)

# eclipse

click_btn_e1 = PhotoImage(file='eclipse.png')
img_label_e1 = Label(image=click_btn_e1)
eclipse1 = Button(fenster, image=click_btn_e1, command=eclipse, borderwidth=5)
eclipse1.pack(pady=30)
eclipse1.place(x=950, y=750, width=250, height=45)

click_btn_brz = PhotoImage(file='brz.png')
img_label_brz = Label(image=click_btn_brz)
MKbrz = Button(fenster, image=click_btn_brz, command=supramk3, borderwidth=5)
MKbrz.pack(pady=30)
MKbrz.place(x=350, y=500, width=250, height=45)

# 180sx
click_btn_180 = PhotoImage(file='180sx.png')

# Let us create a label for button event
img_label_180 = Label(image=click_btn_180)

# Let us create a dummy button and pass the image
s180x = Button(fenster, image=click_btn_180, command=sx180,
borderwidth=5)
s180x.pack(pady=30)
s180x.place(x=50, y=550, width=250, height=45)

# 200sx/s13
click_btn_200 = PhotoImage(file='s13.png')

# Let us create a label for button event
img_label_200 = Label(image=click_btn_200)

# Let us create a dummy button and pass the image
s13 = Button(fenster, image=click_btn_200, command=sx200,
borderwidth=5)
s13.pack(pady=30)
s13.place(x=50, y=600, width=250, height=45)

# 240sx
click_btn_240 = PhotoImage(file='240sx.png')

# Let us create a label for button event
img_label_240 = Label(image=click_btn_240)

# Let us create a dummy button and pass the image
s240x = Button(fenster, image=click_btn_240, command=sx240,
borderwidth=5)
s240x.pack(pady=30)
s240x.place(x=50, y=650, width=250, height=45)

# 280zx
click_btn_280 = PhotoImage(file='280zx.png')

# Let us create a label for button event
img_label_280 = Label(image=click_btn_280)

# Let us create a dummy button and pass the image
z280x = Button(fenster, image=click_btn_280, command=zx280,
borderwidth=5)
z280x.pack(pady=30)
z280x.place(x=50, y=700, width=250, height=45)

# 300zx
click_btn_300 = PhotoImage(file='300zx.png')

# Let us create a label for button event
img_label_300 = Label(image=click_btn_300)

# Let us create a dummy button and pass the image
z300x = Button(fenster, image=click_btn_300, command=zx300,
borderwidth=5)
z300x.pack(pady=30)
z300x.place(x=50, y=750, width=250, height=45)

# 350Z
click_btn_350 = PhotoImage(file='350z.png')

# Let us create a label for button event
img_label_350 = Label(image=click_btn_350)

# Let us create a dummy button and pass the image
z350 = Button(fenster, image=click_btn_350, command=z350z,
borderwidth=5)
z350.pack(pady=30)
z350.place(x=50, y=800, width=250, height=45)

# 370z
click_btn_370 = PhotoImage(file='370z.png')

# Let us create a label for button event
img_label_370 = Label(image=click_btn_370)

# Let us create a dummy button and pass the image
z370 = Button(fenster, image=click_btn_370, command=z370z,
borderwidth=5)
z370.pack(pady=30)
z370.place(x=50, y=850, width=250, height=45)

# s14
click_btn_14 = PhotoImage(file='s14.png')

# Let us create a label for button event
img_label_14 = Label(image=click_btn_14)

# Let us create a dummy button and pass the image
s14s = Button(fenster, image=click_btn_14, command=s14,
borderwidth=5)
s14s.pack(pady=30)
s14s.place(x=50, y=900, width=250, height=45)

# s15
click_btn_15 = PhotoImage(file='s15.png')

# Let us create a label for button event
img_label_15 = Label(image=click_btn_15)

# Let us create a dummy button and pass the image
s15s = Button(fenster, image=click_btn_15, command=s15,
borderwidth=5)
s15s.pack(pady=30)
s15s.place(x=50, y=1150, width=250, height=45)

# Drop down Menü
# Beim Klick auf Datei oder auf Help sollen nun weitere Einträge erscheinen.
# Diese werden also zu "datei_menu" und "help_menu" hinzugefügt
datei_menu.add_command(label="Wer weiß das alles", command=button_action)
datei_menu.add_separator() # Fügt eine Trennlinie hinzu
datei_menu.add_command(label="Tschau Kakao", command=Exit)
help_menu.add_command(label="Help", command=hilfe)

Japanisch_menu.add_command(label="JDM Bedeutung", command=JDM)
# Skyline
Japanisch_menu.add_command(label="Skyline R30", command=skyline_r30)
Japanisch_menu.add_command(label="Skyline R31", command=skyline_r31)
Japanisch_menu.add_command(label="Skyline R32", command=skyline_r32)
Japanisch_menu.add_command(label="Skyline R33", command=skyline_r33)
Japanisch_menu.add_command(label="Skyline R34", command=skyline_r34)
Japanisch_menu.add_command(label="Skyline R35", command=skyline_r35)
# Supra
Japanisch_menu.add_separator() # Fügt eine Trennlinie hinzu
Japanisch_menu.add_command(label="Supra MK 1", command=supramk1)
Japanisch_menu.add_command(label="Supra MK 2", command=supramk2)
Japanisch_menu.add_command(label="Supra MK 3", command=supramk3)
Japanisch_menu.add_command(label="Supra MK 4", command=supramk4)
Japanisch_menu.add_command(label="Supra MK 5", command=supramk5)
# subaru
Japanisch_menu.add_separator() # Fügt eine Trennlinie hinzu
Japanisch_menu.add_command(label="Subaru WRX STI MK1", command=subaru1)
Japanisch_menu.add_command(label="Subaru WRX STI MK2", command=subaru2)
Japanisch_menu.add_command(label="Subaru WRX StI MK3", command=subaru3)
Japanisch_menu.add_command(label="Subaru WRX STI MK4", command=subaru4)
# lancer
Japanisch_menu.add_separator() # Fügt eine Trennlinie hinzu
Japanisch_menu.add_command(label="Lancer Evolution 1", command=lancer1)
Japanisch_menu.add_command(label="Lancer Evolution 2", command=lancer2)
Japanisch_menu.add_command(label="Lancer Evolution 3", command=lancer3)
Japanisch_menu.add_command(label="Lancer Evolution 4", command=lancer4)
Japanisch_menu.add_command(label="Lancer Evolution 5", command=lancer5)
Japanisch_menu.add_command(label="Lancer Evolution 6", command=lancer6)
Japanisch_menu.add_command(label="Lancer Evolution 7", command=lancer7)
Japanisch_menu.add_command(label="Lancer Evolution 8", command=lancer8)
Japanisch_menu.add_command(label="Lancer Evolution 9", command=lancer9)
Japanisch_menu.add_command(label="Lancer Evolution 10", command=lancer10)
Japanisch_menu.add_command(label="eclipse", command=eclipse)
# Honda
Japanisch_menu.add_command(label="Honda Civic EJ9", command=civc)
Japanisch_menu.add_command(label="Honda NSX", command=z370z)
# z varinaten sowie s
Japanisch_menu.add_separator() # Fügt eine Trennlinie hinzu
Japanisch_menu.add_command(label="Nissan 180SX", command=sx180)
Japanisch_menu.add_command(label="Nissan 200sx/sivia s13", command=sx200)
Japanisch_menu.add_command(label="Nissan 240SX", command=sx240)
Japanisch_menu.add_command(label="Nissan 280zx", command=zx280)
Japanisch_menu.add_command(label="Nissan 300ZX", command=zx300)
Japanisch_menu.add_command(label="Nissan 350z", command=z350z)
Japanisch_menu.add_command(label="Nissan 370z", command=z370z)
Japanisch_menu.add_command(label="Nissan silvia s14", command=s14)
Japanisch_menu.add_command(label="Nissan Silvia s15", command=s15)
# mazda
Japanisch_menu.add_separator() # Fügt eine Trennlinie hinzu
Japanisch_menu.add_command(label="Mazda MX5", command=miata)
Japanisch_menu.add_command(label="Mazda RX7", command=rx7)

# "Drop-Down-Menü" hinzu
menuleiste.add_cascade(label="Autowissen", menu=datei_menu)
menuleiste.add_cascade(label="Kaputt", menu=help_menu)
menuleiste.add_cascade(label="JDM", menu=Japanisch_menu)

fenster.config(menu=menuleiste)
fenster.mainloop() # fenster bleibt da


wobei eigentlich nur der Teil interesant ist

scrollbar = Scrollbar(fenster)
scrollbar.pack(side=RIGHT, fill=Y)

mylist = Listbox(fenster, yscrollcommand=scrollbar.set)
#for line in range(100):
#mylist.insert(END, "This is line number " + str(line))

#mylist.pack(side=LEFT, fill=BOTH)
scrollbar.config(command=fenster)
Benutzeravatar
__blackjack__
User
Beiträge: 9095
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Sonntag 12. September 2021, 12:14

@splaty: Ein viel dringenderes Problem ist IMHO der ganze viele Code der eigentlich eine Datenstruktur sein sollte. Weder Nummern noch Daten haben etwas in Namen im Programm zu suchen. Immer wenn man Code kopierst und leicht anpasst, macht man zu 99,9% etwas falsch und will das über Datenstrukturen und/oder Funktionen und/oder Schleifen lösen.
“When we write programs that "learn", it turns out that we do and they don't.” — Alan J. Perlis
splaty
User
Beiträge: 9
Registriert: Sonntag 12. September 2021, 11:38

Sonntag 12. September 2021, 15:34

Du meinst ich sollte die Zahlen in programm ich Buchstaben ändern
Z.B.
RX7 = RXsieben
Buchfink
User
Beiträge: 21
Registriert: Samstag 11. September 2021, 10:16

Sonntag 12. September 2021, 15:59

@splaty
nein, ich kann mir nicht vorstellen, dass das gemeint ist :)

Aber z.B. hier

Code: Alles auswählen

Japanisch_menu.add_separator() # Fügt eine Trennlinie hinzu
Japanisch_menu.add_command(label="Lancer Evolution 1", command=lancer1)
Japanisch_menu.add_command(label="Lancer Evolution 2", command=lancer2)
Japanisch_menu.add_command(label="Lancer Evolution 3", command=lancer3)
Japanisch_menu.add_command(label="Lancer Evolution 4", command=lancer4)
Japanisch_menu.add_command(label="Lancer Evolution 5", command=lancer5)
Japanisch_menu.add_command(label="Lancer Evolution 6", command=lancer6)
Japanisch_menu.add_command(label="Lancer Evolution 7", command=lancer7)
Japanisch_menu.add_command(label="Lancer Evolution 8", command=lancer8)
Japanisch_menu.add_command(label="Lancer Evolution 9", command=lancer9)
Japanisch_menu.add_command(label="Lancer Evolution 10", command=lancer10)
würde ich irgendwie was Generisches erwarten. Sprich arg viel ist redundant.

Am Rande
ich glaube es hilft, wenn man Code entsprechend als "[ code] " .... dein code ..." [/ code]" markiert.
Ebenfalls könnte es helfen, den Code soweit zu reduzieren, dass nur noch das Kernproblem übrig ist.

Ich kann zwar nichts zum eigentlichen Problem sagen, dafür bin ich selbst zu "neu" in Python.

LG
splaty
User
Beiträge: 9
Registriert: Sonntag 12. September 2021, 11:38

Sonntag 12. September 2021, 16:45

@Buchfik
Danke uch kenne mich mit Forumen nicht aus
wie gesagt denke ich das es mit den Pack und der place arbeit zu tun hat

Code: Alles auswählen

fenster = Tk()
fenster.config(background='#ffffff')  # Farbe auswählen
fenster.geometry('1920x1080+0+0')  # Größe festlegen in pixeln

scrollbar = Scrollbar(fenster)
scrollbar.pack(side=RIGHT, fill=Y)

mylist = Listbox(fenster, yscrollcommand=scrollbar.set)
#for line in range(100):
    #mylist.insert(END, "This is line number " + str(line))

#mylist.pack(side=LEFT, fill=BOTH)
scrollbar.config(command=fenster)
LG
Sirius3
User
Beiträge: 15002
Registriert: Sonntag 21. Oktober 2012, 17:20

Sonntag 12. September 2021, 17:24

@splaty: benutze keine place, keine *-Importe, keine globalen Variablen; die vielen image-Label werden allesamt gar nicht benutzt.
Zum Scrollen brauchst Du einen Frame. Die Buttons solltest Du per grid an die richtige Position verschieben. Die vielen Buttons werden mit Hilfe einer for-Schleife erzeugt, über eine Datenstruktur, die die Auto-Informationen enthält.
splaty
User
Beiträge: 9
Registriert: Sonntag 12. September 2021, 11:38

Sonntag 12. September 2021, 17:49

@Sirius3
Werde es gleich morgen nach der Schule ausprobieren danke 🤩😎😜
splaty
User
Beiträge: 9
Registriert: Sonntag 12. September 2021, 11:38

Sonntag 12. September 2021, 19:06

Kann man auch nur das Fenster zum Scrollen bringen
Sirius3
User
Beiträge: 15002
Registriert: Sonntag 21. Oktober 2012, 17:20

Sonntag 12. September 2021, 19:27

Der Scrollbar ist Teil des Fensters, es macht also keinen Sinn denn irgendwohin verschieben zu wollen. Was hast Du gegen Frames?
splaty
User
Beiträge: 9
Registriert: Sonntag 12. September 2021, 11:38

Sonntag 12. September 2021, 19:38

Habe mein Programm auf das Fenster spezialisiert
splaty
User
Beiträge: 9
Registriert: Sonntag 12. September 2021, 11:38

Sonntag 12. September 2021, 19:41

Wie würde es denn gehen wenn ich alles in ein Frame packe was fenstergroß ist kann ich die Button auch noch mit reinpacken so das es funktioniert. Kannst du mir das einen kleinen Ansatz geben wie das im Grunde aussehen soll
Sirius3
User
Beiträge: 15002
Registriert: Sonntag 21. Oktober 2012, 17:20

Sonntag 12. September 2021, 20:11

da ist zwar nicht alles prefekt, zeigt aber, wie es geht:
https://gist.github.com/mp035/9f2027c3e ... d6262f3b01
Antworten