При выполнение runGame приложение перезапускается

import flet
import flet as ft
from flet import *
import subprocess
import minecraft_launcher_lib


class ListItem(UserControl):
    def __init__(self):
        super().__init__()
        self.value = None

    def set_value(self, e):
        self.value = e.control.value

    def build(self):

        all_version = minecraft_launcher_lib.utils.get_version_list()

        supported_versions = []
        for i in all_version:
            # forge_version = minecraft_launcher_lib.forge.find_forge_version(i["id"])
            # fabric_version = minecraft_launcher_lib.fabric.is_minecraft_version_supported(i["id"])
            if i["id"] is not None:
                supported_versions.append(i['id'])
                # if forge_version is not None:
                #     supported_versions.append(i['id'])
                # if fabric_version is not False:
                #     supported_versions.append(i['id'])

        

        self.List = Dropdown(
            options=[ft.dropdown.Option(i) for i in supported_versions],
            label="Supported Versions",
            on_change=lambda e: self.set_value(e),
        )

        return self.List
    
def main(page: ft.Page):
    page.window_title_bar_hidden = False
    page.window_title_bar_buttons_hidden = True
    page.theme_mode = "dark"
    page.vertical_alignment = ft.MainAxisAlignment.CENTER

    def runGame(username: str, version: str):
        print(username)
        print(version)
        minecraft_launcher_lib.install.install_minecraft_version(version, "./moon")


    page.add(
        ft.Row(
            [
                Column(
                    [
                        username := ft.TextField(label="Hello, World!"),
                        item := ListItem(),
                        ft.TextButton("Start", on_click=lambda _: runGame(username.value, item.value)),
                    ],
                    alignment=ft.MainAxisAlignment.CENTER,
                )
            ],
            alignment=ft.MainAxisAlignment.CENTER,
        )
    )

    page.add()
    page.update()

    pass

if __name__ == "__main__":
    flet.app(target=main)


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