Jak ułożyć elementy pod sobą?

0

Cześć,
Proszę pomóżcie mi z TKinter. Chcę stworzyć okienko, które na górze ma pola tekstowe, a na dole ma Listbox z wartościami, które wpisuje w formularzu.

from tkinter import *
from tkinter import ttk

root = Tk()
root.geometry("400x800")

root.resizable(0, 0)

root.columnconfigure(0, weight=1)
root.columnconfigure(1, weight=3)

titleLabel = ttk.Label(root, text="Tytuł:").grid(column=0, row=0, sticky=W, padx=5, pady=5)
titleEntry = ttk.Entry(root, width=60).grid(column=1, row=0, sticky=W, padx=5, pady=5)

linkLabel = ttk.Label(root, text="Link:").grid(column=0, row=1, sticky=W, padx=5, pady=5)
linkEntry = ttk.Entry(root, width=60).grid(column=1, row=1, sticky=W, padx=5, pady=5)

descriptionLabel = ttk.Label(root, text="Opis").grid(column=0, row=2, sticky=W, padx=5, pady=5)
descriptionEntry = ttk.Entry(root, width=60).grid(column=1, row=2, sticky=W, padx=5, pady=5)

saveButton = ttk.Button(root, text="Zapisz").grid(column=1, row=3, sticky=E, padx=5, pady=5)

myList = Listbox(root, yscrollcommand= Scrollbar.set)
for line in range(100):
    myList.insert(END, "This is line number " + str(line))


root.mainloop()

Przygotowałem taki fragment, ale listbox nie pojawia mi się na ekranie

0

Wygląda na to, że nie dodajesz Listbox do okna głównego. Pamiętaj, że aby widget był widoczny, musisz go umieścić w oknie głównym, używając metody pack lub grid.

Możesz to zrobić w następujący sposób:

myList = Listbox(root, yscrollcommand= Scrollbar.set)
myList.pack(side=BOTTOM, fill=BOTH, expand=True)
for line in range(100):
    myList.insert(END, "This is line number " + str(line))

Alternatywnie, możesz użyć grid zamiast pack, ale wtedy musisz również podać pozycję widgetu w siatce:

myList = Listbox(root, yscrollcommand= Scrollbar.set)
myList.grid(column=0, row=4, columnspan=2, sticky=E+W+S+N)
for line in range(100):
    myList.insert(END, "This is line number " + str(line))

I to powinno pomóc!

0

Jeśli możesz, to użyj: https://www.pysimplegui.org/
Przewiń do sekcji: Jump-Start

Korzystanie z Tk będzie prostsze :]

1 użytkowników online, w tym zalogowanych: 0, gości: 1