Python3: Проблема вывода элементов списка в окно GUI

Возникла идея написать программку (или скорее небольшой скрипт) следующего характера.

Допустим у нас есть несколько автобусных остановок. Я хочу узнать во сколько будет ближайший (и последующие) автобус на конкретной остановке.

Например я хочу узнать во сколько будет ближайший (и последующие) автобус на остановке "N". Для этого в окне программы я должен нажать на кнопку с наименованием данной остановки и мне в окне должен выйти результат в столбик времён прибытия автобуса, начиная с текущего времени. Для этого в программе реализована функция, которая получает текущее системное время и сравнивает его в временами из списка и показывает все, которые больше текущего.

Если исполнить программу в консоли без GUI интерфейса, то всё выводится правильно. Всё работает так, как мне нужно. Пример на фото:

Вывод результатов в консоли. Всё работает хорошо

Далее я начинаю заворачивать всё это дело в GUI интерфейс, добавлять кнопки и т.д. Для примера я взял одну остановку и один автобус, следовательно одна кнопка.

Но в итоге при выполнении программы в окне вместо списка времён как в консоли почему-то выводится только последнее время в списке (время последнего рейса на данной остановке). В программировании я практически полный новичок. Это можно сказать пожалуй мой первый более менее осознанный полноценный проект. Поэтому из-за нехватки знаний не могу продвинуться в проекте и не могу решить эту проблему. Пытался решить разными способами. Добавлял вывод i в отдельный список и пытался вывести список - все равно выводится только последнее время из списка (последняя итерация). Не могу пока сообразить почему так и как правильно сделать. А так же еще одна проблема в том, что когда запускаешь программу, то результат выводится еще до нажатия на кнопку.

Код программы:

# Переменные - время прибытия автобуса на остановку
Ostanovka = ['07:10', '07:59', '08:00', '08:49', '08:50', '09:39', '12:10', '12:59', '13:00', '13:49', '13:50', '14:39', '17:10', '17:59', '18:00', '18:49']

import tkinter as tk
from tkinter import *

# Функция, возвращающая текущее время в формате "HH:MM"
def time():
    from datetime import datetime
    now = datetime.now()
    current_time = now.strftime("%H:%M")
    return current_time

# Функция показывает список времён прибытия автобуса начиная с текущего времени
def BusComingTimeList(self):
    for i in self:
        if i > time():
            lbl = Label(master, text=i)
            lbl.grid(row=2, column=0)
            
# Основное окно и его размеры
master = tk.Tk()
master.geometry("600x400")

# Создание и расположение кнопки
button = tk.Button(master, text="Остановка", width=18, height=5, 
command=BusComingTimeList(Ostanovka))
button.grid(row=1, column=0)

# Зацикливание основного окна
tk.mainloop()

Это то, что у меня получается в итоге (до нажатия на кнопку)

Результат (только одно последнее время)


Ответы (0 шт):