[FLET] 02 route 测试
from typing import Dict
import flet
from flet import AppBar, ElevatedButton, Page, Text, View, colors
class view_fam:
def __init__(self, page: Page) -> None:
self.vs: Dict[str, View] = {}
""" 页页集 """
vv = [
ElevatedButton(
f"页{i}",
on_click=lambda x: page.go(f"/pg_{x.control.data}"),
data=i,
)
for i in range(10)
]
vv.insert(0, AppBar(title=Text("主页"), bgcolor=colors.SURFACE_VARIANT))
self.vs["main"] = View("/", vv) # 主页
for i in range(10):
self.vs[f"/pg_{i}"] = View(
f"/pg_{i}",
[
AppBar(title=Text(f"页{i}"), bgcolor=colors.BLUE_ACCENT_100),
ElevatedButton(
"上一页",
on_click=lambda x: page.go(f"/pg_{x.control.data-1}"),
disabled=i <= 0,
data=i,
),
ElevatedButton("去主页", on_click=lambda _: page.go("/")),
ElevatedButton(
"下一页",
on_click=lambda x: page.go(f"/pg_{x.control.data+1}"),
disabled=i >= 9,
data=i,
),
],
)
def main(page: Page):
page.title = "Routes Example"
vvs = view_fam(page)
"""页面的集合"""
def route_change(route):
"""
当收到信号,要改变页面时,用这个来决定具体要加载的页面\n
实际上,当收到回退信号时,并不能后退到上一个页面,而是直接加载主页
"""
if page.route == "/":
if page.views[0].route == "/":
return
else:
page.views.clear()
page.views.append(vvs.vs["main"])
page.update()
else:
if page.route == page.views[0].route:
pass
else:
v = vvs.vs.get(page.route, None)
if v is not None:
page.views.clear()
page.views.append(v)
page.update()
def view_pop(view):
if len(page.views) == 0:
page.views.append(vvs.vs["main"])
elif page.views[0].route == "/":
pass
else:
page.views.clear()
page.views.append(vvs.vs["main"])
page.go("/")
page.on_route_change = route_change
page.on_view_pop = view_pop
page.go(page.route)
# flet.app(target=main, view=flet.WEB_BROWSER)
flet.app(target=main)
[FLET] 02 route 测试的更多相关文章
- echarts雷达图点击事件 包含(2.x,3.85,4.02)测试
最近看见别人问的问题,点击雷达图的拐点,获取点击数据的问题,直接上代码. echarts 2x 的点击事件 echarts配置问题:https://www.douban.com/note/509404 ...
- [Laravel] 02 - Route and MVC
前言 一.良心资料 英文 Laravel 框架:https://laravel.com/ 教程:https://laracasts.com/series/ laravel-from-scratch-2 ...
- 02 - Unit011:Spring AOP
Spring AOP 面向切面(儿)编程(横切编程) Spring 核心功能之一 Spring 利用AspectJ 实现. 底层是利用 反射的动态代理机制实现的 其好处: 在不改变原有功能情况下, 为 ...
- php简单测试slim框架的功能
php简单测试slim框架的功能 监听主路径/ $app->get( '/', function () { $template = <<<EOT<!DOCTYPE htm ...
- [Laravel] 14 - REST API: Laravel from scratch
前言 一.基础 Ref: Build a REST API with Laravel API resources Goto: [Node.js] 08 - Web Server and REST AP ...
- LVS负载均衡常用的工作模式有NAT、DR、和TUN三种,其中DR模式性能最为优越,使用最为广泛。
一.安装LVS LVS的编译安装参考本站文章:http://www.linuxe.cn/post-192.html,对于LVS这种功能性软件,在生产中用yum安装也是没有问题的. 1 yum inst ...
- autofs自动挂载
autofs是根据需要自动挂载,默认5分钟不使用自动卸载挂载点!nfs,smb,iso,sd*的挂载 环境:RHEL6.5/Centos6.5 172.24.0.25 01.安装autofs y ...
- NFS简单使用
NFS网络文件系统(Network File System),由Sun公司开发,从名字上就能够知道这个服务是通过网络的方式来共享文件系统,目前RHEL 6上使用的版本为NFSv4,提供有状态的连接,追 ...
- WebService入门
1.什么是web服务: web服务是一种可以用来解决跨网络应用集成问题的开发模式,这种模式为实现"软件即服务"提供了技术保障. 2.web服务的三个核心 2.1 SOAP SOA ...
- 微冷的雨ASP.NET MVC之葵花宝典(MVC)
微冷的雨ASP.NET MVC之葵花宝典 By:微冷的雨 第一章 ASP.NET MVC的请求和处理机制. 在MVC中: 01.所有的请求都要归结到控制器(Controller)上. 02.约定优于配 ...
随机推荐
- ansible系列(24)--ansible的loop循环语句
目录 1. loop循环语句 1.1 使用循环批量安装软件 1.2 使用循环批量启动服务 1.3 使用循环批量创建用户 1.4 使用循环批量拷贝文件 1. loop循环语句 在写 playbook 的 ...
- wordpress多站点设置,移除 多站点链接中的 /blog 前缀
★★★最近想给自己的wordpress添加多个站点,就查了查相关的设置方法,以下我亲自尝试可行 1.首先需要开始配置:在网站根目录下的 wp-config.php 添加: define('WP_ALL ...
- cesium教程2-加载显示地形地图
上面地形数据,是调用cesium官方的地图服务,需要先注册cesium账户,配置cesium的账户token才行 1.在线地形服务的示例代码如下 <!DOCTYPE html> <h ...
- uniAPP Android平台完整更新与热更新
一.概述 1.uni-app打包成apk或wgt文件,使用plus.runtime.getProperty方法获取本地应用资源版本号.2.调用后端接口,拿到与后端规定好的版本号,与前面获取的版本号进行 ...
- HDU-Employment Planning题解
题目在这里 -------------------------------- Employment Planning 简单的一道dp 关键的点在于想到用枚举实现各种情况的讨论 关键的注释写在代码里了 ...
- turltle模块详解
引言:turtle(海龟)模块,我们是用它来进行画图的,基本上就是画简单的直线,点,和曲线. 你可以把它想成一个小海龟,在沙滩上行走,然后留下的各种痕迹,使用Turtle模块可以绘制很多精美的图形. ...
- NumPy 正态分布与 Seaborn 可视化指南
正态分布(高斯分布) 简介 正态分布(也称为高斯分布)是一种非常重要的概率分布,它描述了许多自然和人为现象的数据分布情况.正态分布的形状呈钟形,其峰值位于平均值处,两侧对称下降. 特征 正态分布可以用 ...
- 平衡二叉树(AVL)插入结点后的再平衡思路
理解平衡二叉树 在解决平衡二叉树动平衡问题,我们先来明确什么是平衡二叉树: 平衡二叉树是二叉搜索树的一种特殊情况,所以在二叉搜索树的基础上加上了如下定义: 平衡因子:我们将二叉树中各个结点的左右子树的 ...
- IDEA使用——快捷键修改
刚转入IDEA的小伙伴都知道,如果将IDEA的快捷键设置为Eclipse模式也会有相当多常用快捷键不一样,下面链接的配置文件是博主自己IDEA配置的导出文件.我将Eclipse常用的快捷键都做了同步, ...
- HTML——标签元素的两大类
块级标签(block) – 独占一行 内联标签(inline) – 按文本内容占位 div标签和span标签 <div>只是一个块级元素,并无实际的意义.主要通过CSS样式为其赋予不同的表 ...