Stellen Sie ein 4x4-Raster in einem Fenster dar. Ich möchte die Zelle in Zeile 2, Spalte 2 erweitern, aber nicht alles andere in Zeile 2 oder Spalte 2. Im Entwerfen eines Textfensters mit auswählbaren Optionen auf der linken Seite in den Zeilen 1-15. Wenn man Zeile 2 mit Gewicht 1 und Spalte 2 mit Gewicht 1 macht, kann mein Text-Widget erweitert werden, aber auch alles andere in Zeile 2 und Spalte 2. Irgendwo anders herum?Python3.5 -konfigurieren Sie eine einzelne Zelle zum Erweitern statt der gesamten Zeile oder Spalte
from tkinter import *
root = Tk()
lbl1 = Label(root, text="label1")
lbl1.grid(row=0, column=1)
lbl2 = Label(root, text="label2")
lbl2.grid(row=1, column=0)
lbl3 = Label(root, text="label3")
lbl3.grid(row=3, column=0)
lbl4 = Label(root, text="label4")
lbl4.grid(row=5, column=0)
txt = Text(root, state='disabled', bg='#E8E8E8')
txt.grid(row=1, column=1, padx=10, pady=10, sticky="NSEW", columnspan=2, rowspan=2)
root.rowconfigure(2, weight=1)
root.columnconfigure(2, weight=1)
root.mainloop()
Beispiel 2:
from tkinter import *
root = Tk()
frame1 = Frame(root)
frame1.grid(row=0, column=1)
frame2 = Frame(root)
frame2.grid(row=1, column=0)
frame3 = Frame(root)
frame3.grid(row=1, column=1, rowspan=2, columnspan=2)
lbl1 = Label(frame1, text="label1")
lbl2 = Label(frame2, text="label2")
lbl3 = Label(frame2, text="label3")
lbl4 = Label(frame2, text="label4")
lbl1.grid(row=0, column=1, sticky=N)
lbl2.grid(row=3, column=0, sticky=N)
lbl3.grid(row=5, column=0, sticky=N)
lbl4.grid(row=7, column=0, sticky=N)
txt = Text(frame3, state='disabled', bg='#E8E8E8')
txt.grid(row=0, column=0, padx=10, pady=10, sticky="NSEW", columnspan=2, rowspan=2)
root.rowconfigure(2, weight=1)
root.columnconfigure(2, weight=1)
frame3.rowconfigure(0, weight=1)
frame3.columnconfigure(0, weight=1)
root.mainloop()
Beispiel 2 hat alles, was in der Position, die ich es in wollen, aber der Text-Widget sich nicht ausdehnt. Ist es möglich, einen Rahmen zum Erweitern bei der Verwendung von Gittern festzulegen?
Ich denke ohne ein konkretes Beispiel wird dies schwer zu beantworten sein. Es ist eine Antwort, aber die richtige Antwort hängt von vielen Variablen ab.Angenommen, Sie möchten, dass es nach rechts erweitert wird. Was erwarten Sie dann von den Widgets auf der rechten Seite in derselben Zeile? Verschieben sie sich? Überschrieben werden? Das Gleiche gilt für die vertikale Erweiterung - was passiert mit den Elementen in den Reihen darunter? Wie viel Expansion kann passieren? Kann der Artikel in Zeile 2 Spalte 2 doppelt so groß sein? verdreifachen? Kann es den ganzen Bildschirm füllen? Kann es vollständig verschwinden? Haben Sie die Möglichkeit, die Benutzeroberfläche zu ändern? –
Beispiel oben hinzugefügt. Ich möchte nur das Text-Widget erweitern, wenn das Fenster maximiert ist oder ein Benutzer die Ecke des Fensters zieht. Ich möchte, dass die Labels 2-4 links oben nebeneinander liegen und nicht getrennt sind. Ich hoffe das hilft. – sidnical