You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Flet窗口宽高设置及不可调整属性在运行时失效的问题求助

Flet窗口宽高设置及不可调整属性在运行时失效的问题求助

我已经在Windows电脑上安装了Flet,用PyCharm当编辑器。不管是在编辑器里运行还是用CMD跑Python脚本,代码里定义的窗口宽高都不生效。环境变量我也配置好了,用的是当前最新版的Flet。

下面是运行时的效果截图:
Flet窗口宽高设置未生效

而且明明我设置了窗口不可调整大小,运行的时候还是能拖动改变窗口尺寸,完全搞不懂为什么这些配置代码在运行时被忽略了,求各位大佬帮忙看看!

我的代码如下:

import flet as ft


def main(page: ft.Page):
    # Set window properties
    page.title = "My Flet App"
    page.window_width = 400  # Width in pixels
    page.window_height = 700  # Height in pixels
    page.window_resizable = False  # Fix the window size
    #page.bgcolor = ft.Colors.WHITE  # Use the updated Colors enum
    page.update()  # Apply settings immediately

    # --- Define pages (content for each page) ---
    def home_page():
        return ft.Container(
            content=ft.Text("Home Page Content", size=20),
            alignment=ft.alignment.center,
            expand=True,
        )

    def daily_agenda_planner():
        return ft.Container(
            content=ft.Text("Daily Agenda Planner Content", size=20),
            alignment=ft.alignment.center,
            expand=True,
        )

    # Dictionary holding our pages
    frames = {
        "HomePage": home_page(),
        "DailyAgendaPlanner": daily_agenda_planner(),
    }

    # --- Current Page Container ---
    current_page = ft.Container(content=frames["HomePage"], expand=True)

    # Function to switch between pages
    def show_frame(page_name: str):
        current_page.content = frames[page_name]
        page.update()

    # --- Navigation Bar ---
    def create_nav_button(icon, tooltip, action):
        return ft.IconButton(
            icon=icon,
            icon_size=30,
            tooltip=tooltip,
            on_click=action,
        )

    # Navigation button actions
    def on_home_click(e):
        show_frame("HomePage")

    def on_planner_click(e):
        show_frame("DailyAgendaPlanner")

    def on_contacts_click(e):
        print("Contacts button clicked!")

    def on_map_click(e):
        print("Nav button clicked!")

    def on_refresh_click(e):
        print("Refresh button clicked!")

    # Create nav bar
    nav_bar = ft.Row(
        controls=[
            create_nav_button(ft.Icons.HOME, "Home", on_home_click),
            create_nav_button(ft.Icons.CALENDAR_TODAY, "Planner", on_planner_click),
            create_nav_button(ft.Icons.CONTACTS, "Contacts", on_contacts_click),
            create_nav_button(ft.Icons.MAP_ROUNDED, "Map", on_map_click),
            create_nav_button(ft.Icons.REFRESH, "Refresh", on_refresh_click),
        ],
        alignment=ft.MainAxisAlignment.CENTER,
        spacing=20,
    )

    # Wrap nav bar in a container for padding
    nav_bar_container = ft.Container(
        content=nav_bar,
        padding=10,
    )

    # --- Main Layout ---
    main_layout = ft.Column(
        controls=[
            current_page,      # Expands to fill available space.
            nav_bar_container, # Navigation bar at the bottom.
        ],
        expand=True,
        alignment=ft.MainAxisAlignment.SPACE_BETWEEN,
    )

    page.add(main_layout)

ft.app(target=main)

备注:内容来源于stack exchange,提问作者Rubbish Ambush

火山引擎 最新活动