Seite 1 von 1
Canvas/Striche in Tkinter Fenster
Verfasst: Sonntag 15. März 2020, 15:36
von Jones.Indiana
Hallo an alle,
ich würde gerne in mein Fenster was ich zur Programmadministration mit Eingabefenstern etc aufgebaut farbige Striche und Boxen zur besseren Übersicht einzelner Felder einbauen.
Wenn ich jedoch ein Canvas dazusetze, dann verschiebt sich das Fenster. Weiss jemand wie man einfach in dieses Fenster ein farbige paar Striche mit entsprechenden x und y Werten setzt, ohne dass das Fenster zerschossen wird?
Danke an alle.
Jones
Re: Canvas/Striche in Tkinter Fenster
Verfasst: Montag 16. März 2020, 13:50
von peterpy
Hallo Jones,
Du solltest das Canvas in dein Fenster platzieren, oder das Canvas als Fenster nehmen und die übrigen Widgets im Canvas anordnen.
Gruss
Peter
Re: Canvas/Striche in Tkinter Fenster
Verfasst: Montag 16. März 2020, 17:37
von Jones.Indiana
Danke Dir Peter für die flotte Antwort,
da bist Du aber an einen Doofen geraten. Das ist zu hoch für mich....
Das Programm baut alle Eingabe und Ausgabe Boxen etc im Fenster auf (s.u. als Auszug). Das Canvas habe ich erstmal mit # wieder deaktiviert.
Wie platziere ich denn "das Canvas in das Fenster?"
LG
Jones
......
fenster = Tk()
fenster.title('Administrator: Start-Seite')
fenster.geometry('1000x600')
#w = Canvas(fenster, width=200, height=100)
#w.pack()
#w.create_line(0, 100, 200, 0, fill="red", dash=(4, 4))
#w.create_rectangle(50, 25, 150, 75, fill="blue")
rahmen = Frame(fenster, relief='ridge', borderwidth=5)
rahmen.pack(fill='both', expand=1)
label1 = Label(rahmen, text='Anker-Ton in Hz')
label1.place(x=10, y=70)
label2 = Label(rahmen, text='Länge der einzelnen Töne in msec')
label2.place(x=10, y=120)
.......
Re: Canvas/Striche in Tkinter Fenster
Verfasst: Dienstag 17. März 2020, 09:08
von peterpy
Hallo Jones,
schau doch mal hier:
https://anzeljg.github.io/rin2/book2/24 ... index.html
meine Idee:
Code: Alles auswählen
from tkinter import Canvas, Frame, Label, Tk
fenster = Tk()
fenster.title('Administrator: Start-Seite')
fenster.geometry('1000x600')
w = Canvas(fenster, width=1000, height=600, bg = "white")
w.pack()
rahmen = Frame(relief='ridge', borderwidth=5, width = 600,
height = 40)
platzhalter0 = Label(rahmen)
platzhalter0.grid(row = 0, column = 0)
label1 = Label(rahmen, text='Anker-Ton in Hz', anchor = "w", width = 30)
label1.grid(row = 1, column = 0)
platzhalter1 = Label(rahmen, height = 3)
platzhalter1.grid(row = 2, column = 0)
label2 = Label(rahmen, text='Länge der einzelnen Töne in msec', anchor = "w",
width = 30)
label2.grid(row = 3, column = 0)
platzhalter2 = Label(rahmen)
platzhalter2.grid(row = 4, column = 0)
rahmeninCanvas = w.create_window(100,100, window = rahmen, anchor = "w")
w.create_line(0, 600, 1000, 0, fill="red", dash=(4, 4))
w.create_rectangle(450, 325, 550, 275, fill="blue")
fenster.mainloop()
Gruss
Peter