【Dash】feffery_antd_components 按钮组件的应用
一、feffery_antd_componenet 中的 AntdFloatButton 和 AntdFloatButtonGroup
AntdFloatButton 和 AntdFloatButtonGroup 是两个用于创建悬浮按钮和悬浮按钮组的组件。
AntdFloatButton 是单个悬浮按钮组件,它提供了多种属性来定义按钮的外观及行为。AntdFloatButtonGroup 是一个悬浮按钮组组件,包含多个悬浮按钮,可通过 trigger 属性设置触发方式,通过open属性设置为受控模式。
详细说明可在 feffery_antd_components 的官方文档中找到相关组件的详细信息和使用示例。
二、代码
以下是所有悬浮按钮组件的演示代码的整合,方便大家学习和使用:
import dash
from dash import html
import feffery_antd_components as fac
from dash.dependencies import Output, Input, Stateapp = dash.Dash(__name__)app.layout = html.Div([fac.AntdHeader(fac.AntdTitle('悬浮按钮 AntdFloatButton',level=2,style={'color': 'white'},),style={'display': 'flex','justifyContent': 'center','alignItems': 'center', # 对齐方式},),# 悬浮按钮演示fac.AntdContent(fac.AntdTitle('悬浮按钮演示:',level=4,style={'margin': '10px'},),style={'display': 'flex', 'alignItems': 'center'},),# 悬浮按钮种类fac.AntdContent(fac.AntdText('最基础的悬浮按钮',style={'margin': '10px', 'fontSize': '16px', 'height': '100%'},),style={'height': '49px', 'backgroundColor': '#F8F8F8', 'borderBottom': '1px solid #ECECEA','display': 'flex', 'alignItems': 'center'},),fac.AntdFloatButton(style={'top': '115px', 'left': '260px'},),# 不同类型的悬浮按钮fac.AntdContent(fac.AntdText('不同类型的悬浮按钮',style={'margin': '10px', 'fontSize': '16px'},),style={'height': '49px', 'backgroundColor': 'white', 'borderBottom': '1px solid #ECECEA','display': 'flex', 'alignItems': 'center'},),fac.AntdFloatButton(style={'top': '165px', 'left': '260px'},),fac.AntdFloatButton(style={'top': '165px', 'left': '310px'},type='primary',),# 不同形状的悬浮按钮fac.AntdContent(fac.AntdText('不同形状的悬浮按钮',style={'margin': '10px', 'fontSize': '16px'},),style={'height': '49px', 'backgroundColor': '#F8F8F8', 'borderBottom': '1px solid #ECECEA','display': 'flex', 'alignItems': 'center'},),fac.AntdFloatButton(style={'top': '215px', 'left': '260px'},type='primary',),fac.AntdFloatButton(style={'top': '215px', 'left': '310px', 'width': '40px', 'height': '40px'},type='primary',shape='square',),fac.AntdFloatButton(style={'top': '215px', 'left': '360px', 'height': '40px'},type='primary',shape='square',),# 为悬浮按钮自定义图标元素fac.AntdContent(fac.AntdText('为悬浮按钮自定义图标元素',style={'margin': '10px', 'fontSize': '16px'},),style={'height': '49px', 'backgroundColor': 'white', 'borderBottom': '1px solid #ECECEA','display': 'flex', 'alignItems': 'center'},),fac.AntdFloatButton(style={'top': '265px', 'left': '260px'},icon=fac.AntdIcon(icon='antd-question'),),fac.AntdFloatButton(style={'top': '265px', 'left': '310px'},icon=fac.AntdIcon(icon='antd-bulb'),type='primary',),# 为悬浮按钮添加额外描述信息fac.AntdContent(fac.AntdText('为悬浮按钮添加额外描述信息',style={'margin': '10px', 'fontSize': '16px'},),style={'height': '49px', 'backgroundColor': '#F8F8F8', 'borderBottom': '1px solid #ECECEA','display': 'flex', 'alignItems': 'center'},),fac.AntdFloatButton(description='描述信息',style={'top': '315px', 'left': '260px'},),fac.AntdFloatButton(description='描述信息',shape='square',style={'top': '315px', 'left': '310px', 'height': '40px'},),fac.AntdFloatButton(description='测试',shape='square',type='primary',icon=fac.AntdIcon(icon='antd-question'),style={'top': '315px', 'left': '360px', 'height': '40px'},),# 为悬浮按钮添加额外气泡卡片信息fac.AntdContent(fac.AntdText('为悬浮按钮添加额外气泡卡片信息',style={'margin': '10px', 'fontSize': '16px'}),style={'height': '49px', 'backgroundColor': 'white', 'borderBottom': '1px solid #ECECEA','display': 'flex', 'alignItems': 'center'},),fac.AntdFloatButton(tooltip='气泡卡片信息',style={'top': '365px', 'left': '260px'},),# 为悬浮按钮添加跳转链接fac.AntdContent(fac.AntdText('为悬浮按钮添加跳转链接',style={'margin': '10px', 'fontSize': '16px'},),style={'height': '49px', 'backgroundColor': '#F8F8F8', 'borderBottom': '1px solid #ECECEA','display': 'flex', 'alignItems': 'center'},),fac.AntdFloatButton(href='/',target='_blank',style={'top': '415px', 'left': '260px'},),# 为悬浮按钮添加点击事件fac.AntdContent(fac.AntdText('为悬浮按钮添加点击事件',style={'margin': '10px', 'fontSize': '16px','display': 'flex', 'alignItems': 'center'},),),fac.AntdFloatButton(id='float-button-basic-event',description='点我',type='primary',style={'top': '465px', 'left': '260px'},),fac.AntdContent(fac.AntdText(id='float-button-basic-event-output',style={'margin': '10px'}),style={'height': '29px', 'backgroundColor': 'white', 'borderBottom': '1px solid #ECECEA','display': 'flex', 'alignItems': 'center'},),# 悬浮按钮组演示fac.AntdContent(fac.AntdTitle('悬浮按钮组演示:',level=4,style={'margin': '10px'},),style={'height': '30px', 'display': 'flex', 'alignItems': 'center'}),html.Div(fac.AntdSpace([fac.AntdContent(fac.AntdText('最基础的悬浮按钮组',style={'margin': '10px', 'fontSize': '16px','display': 'flex', 'alignItems': 'center'},),),fac.AntdContent(fac.AntdText('触发菜单模式',style={'margin': '10px', 'fontSize': '16px','display': 'flex', 'alignItems': 'center'},),),fac.AntdContent(fac.AntdText('不同菜单的展开方向',style={'margin': '10px', 'fontSize': '16px','display': 'flex', 'alignItems': 'center'},),),fac.AntdContent(fac.AntdText('按钮组的回调监听',style={'margin': '10px', 'fontSize': '16px','display': 'flex', 'alignItems': 'center'},),),],size='large',),),html.Div(fac.AntdSpace([fac.AntdContent(fac.AntdText('hover',style={'margin': '5px', 'fontSize': '16px'}),),fac.AntdContent(fac.AntdText('click',style={'margin': '5px', 'fontSize': '16px'},),),fac.AntdSegmented(id='float-button-group-placement',options=[{'label': placement, 'value': placement} for placement in['top', 'right', 'left', 'bottom']],value='top',block=True,size='small',),fac.AntdText('Open Status:', id='float-button-group-basic-event-output'),],size='large',),style={'marginLeft': '180px'}),html.Div([fac.AntdFloatButtonGroup([fac.AntdFloatButton(icon=fac.AntdIcon(icon='antd-question')),fac.AntdFloatButton(icon=fac.AntdIcon(icon='antd-setting')),fac.AntdFloatButton(icon=fac.AntdIcon(icon='antd-mail')),],style={'right': '95%', 'bottom': '3%'},),fac.AntdFloatButtonGroup([fac.AntdFloatButton(icon=fac.AntdIcon(icon='antd-question')),fac.AntdFloatButton(icon=fac.AntdIcon(icon='antd-setting')),fac.AntdFloatButton(icon=fac.AntdIcon(icon='antd-mail')),fac.AntdFloatButton(icon=fac.AntdIcon(icon='antd-notification')),],shape='square',style={'right': '90%', 'bottom': '3%'},),fac.AntdFloatButtonGroup([fac.AntdFloatButton(icon=fac.AntdIcon(icon='antd-question')),fac.AntdFloatButton(icon=fac.AntdIcon(icon='antd-setting')),fac.AntdFloatButton(icon=fac.AntdIcon(icon='antd-mail')),],trigger='hover',icon=fac.AntdIcon(icon='antd-menu'),type='primary',tooltip='trigger: hover',style={'right': 'calc(85% - 30px)', 'bottom': '3%'},),fac.AntdFloatButtonGroup([fac.AntdFloatButton(icon=fac.AntdIcon(icon='antd-question')),fac.AntdFloatButton(icon=fac.AntdIcon(icon='antd-setting')),fac.AntdFloatButton(icon=fac.AntdIcon(icon='antd-mail')),],trigger='click',icon=fac.AntdIcon(icon='antd-menu'),type='primary',tooltip='trigger: click',style={'right': 'calc(78% - 10px)', 'bottom': '3%'},),fac.AntdFloatButtonGroup([fac.AntdFloatButton(icon=fac.AntdIcon(icon='antd-question')),fac.AntdFloatButton(icon=fac.AntdIcon(icon='antd-setting')),fac.AntdFloatButton(icon=fac.AntdIcon(icon='antd-mail')),],id='float-button-group-placement-demo',trigger='click',style={'right': 'calc(70% - 20px)', 'bottom': '15%'},icon=fac.AntdIcon(icon='antd-menu'),type='primary',),fac.AntdFloatButtonGroup([fac.AntdFloatButton(icon=fac.AntdIcon(icon='antd-question')),fac.AntdFloatButton(icon=fac.AntdIcon(icon='antd-setting')),fac.AntdFloatButton(icon=fac.AntdIcon(icon='antd-mail')),],id='float-button-group-basic-event',trigger='click',style={'right': 'calc(55% - 20px)', 'bottom': '3%'},icon=fac.AntdIcon(icon='antd-menu'),type='primary',),],),],
)# 悬浮按钮点击事件 回调函数
@app.callback(Output('float-button-basic-event-output', 'children'),Input('float-button-basic-event', 'nClicks'),prevent_initial_call=True,
)
def float_button_basic_event(nClicks):return f"nClicks: {nClicks}"@app.callback(Output('float-button-group-placement-demo', 'placement'),Input('float-button-group-placement', 'value'),
)
def float_button_group_placement_demo(value):return value@app.callback(Output('float-button-group-basic-event-output', 'children'),Input('float-button-group-basic-event', 'open'),prevent_initial_call=True,
)
def float_button_group_basic_event(open):return f'Open Status: {open}'if __name__ == '__main__':app.run_server(debug=True)

相关文章:
【Dash】feffery_antd_components 按钮组件的应用
一、feffery_antd_componenet 中的 AntdFloatButton 和 AntdFloatButtonGroup AntdFloatButton 和 AntdFloatButtonGroup 是两个用于创建悬浮按钮和悬浮按钮组的组件。 AntdFloatButton 是单个悬浮按钮组件,它提供了多种属性来定义按钮的外观及行为。AntdFloatBut…...
01 springboot-整合日志(logback-config.xml)
logback-config.xml 是一个用于配置 Logback 日志框架的 XML 文件,通常位于项目的 classpath 下的根目录或者 src/main/resources 目录下。 Logback 提供了丰富的配置选项,可以满足各种不同的日志需求。需要根据具体情况进行配置。 项目创建࿰…...
Java最全面试题->计算机基础面试题->计算机网络面试题
计算机网络 下边是我自己整理的面试题,基本已经很全面了,想要的可以私信我,我会不定期去更新思维导图 哪里不会点哪里 1.说一下TCP/IP四层模型 TCP/IP协议是美国国防部高级计划研究局为实现ARPANET互联网而开发的。 网络接口层ÿ…...
VSCode编译器改为中文
1. 通过快捷键设置中文 打开命令面板:按住键盘上的CtrlShiftP组合键,打开命令面板。 输入并设置语言:在命令面板中输入Configure Display Language。 点击Configure Display Language选项。 在弹出的语言选择列表中,选择zh-cn…...
前端开发设计模式——状态模式
目录 一、状态模式的定义和特点 二、状态模式的结构与原理 1.结构: 2.原理: 三、状态模式的实现方式 四、状态模式的使用场景 1.按钮的不同状态: 2.页面加载状态: 3.用户登录状态: 五、状态模式的优点 1.提…...
特种作业操作烟花爆竹试题分享
1.(单选题)职业卫生研究的是人类从事各种职业劳动过程中的( )。 A.健康问题 B.环境问题 C.卫生问题 答案:C 2.(单选题)安全生产事关人民群众的( )安全,事关改革发展和…...
实现prometheus+grafana的监控部署
直接贴部署用的文件信息了 kubectl label node xxx monitoringtrue 创建命名空间 kubectl create ns monitoring 部署operator kubectl apply -f operator-rbac.yml kubectl apply -f operator-dp.yml kubectl apply -f operator-crd.yml # 定义node-export kubectl app…...
确保Spring Boot定时任务只执行一次方案
在Spring Boot项目中,确保定时任务只执行一次是一个常见的需求。这种需求可以通过多种方式来实现,以下是一些常见的方法,它们各具特点,可以根据项目的实际需求来选择最合适的方法。 1. 使用Scheduled注解并设置极大延迟 一种简单…...
【Python数据可视化】利用Matplotlib绘制美丽图表!
【Python数据可视化】利用Matplotlib绘制美丽图表! 数据可视化是数据分析过程中的重要步骤,它能直观地展示数据的趋势、分布和相关性,帮助我们做出明智的决策。在 Python 中,Matplotlib 是最常用的可视化库之一,它功能…...
【最新通知】2024年Cisco思科认证CCNA详解
CCNA现在涵盖安全性、自动化和可编程性。该计划拥有一项涵盖IT职业基础知识的认证,包括一门考试和一门培训课程,助您做好准备。 CCNA培训课程和考试最近面向最新技术和工作岗位进行了重新调整,为您提供了向任何方向发展事业所需的基础。CCNA认…...
监控内容、监控指标、监控工具大科普
在现代信息技术领域,监控技术扮演着至关重要的角色。它帮助我们实时了解系统、网络、应用以及环境的状态,确保它们的安全、稳定和高效运行。以下是对监控内容、监控指标和监控工具的详细科普。 一、监控内容 监控内容是指监控系统所关注和记录的具体信…...
生成文件夹 - python 实现
生成文件夹保存图片和文本等信息。 代码具体实现如下: #-*-coding:utf-8-*- # date:2021-04-13 # Author: DataBall - XIAN # Function: 生成文件夹import os if __name__ "__main__":path "./dataset"if not os.path.exists(path): # 如果…...
快速了解学会python基础语言及IDLE 提供的常用快捷键
😀前言 本篇博文是关于python的基础语言介绍及IDLE 提供的常用快捷键,希望你能够喜欢 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的…...
【python】OpenCV—Sort the Point Set from Top Left to Bottom Right
文章目录 1、功能描述2、代码实现3、效果展示4、更多例子5、参考 1、功能描述 给出一张图片,里面含有各种图形,取各种图形的中心点,从左到右从上到下排序 例如 2、代码实现 import cv2 import numpy as npdef process_img(img):img_gray c…...
LeetCode 1493.删掉一个元素以后全为1的最长子数组
题目: 给你一个二进制数组 nums ,你需要从中删掉一个元素。 请你在删掉元素的结果数组中,返回最长的且只包含 1 的非空子数组的长度。 如果不存在这样的子数组,请返回 0 。 思路:不定长滑动窗口,将问题…...
php常用设计模式之工厂模式
引言 在日常开发中,我们一些业务场景需要用到发送短信通知。然而实际情况考虑到不同厂商之间的价格、实效性、可能会出现的情况等 我们的业务场景往往会接入多个短信厂商来保证我们业务的正常运行,而不同的短信厂商(如阿里云短信、腾讯云短信…...
通用软件版本标识
软件版本标识:了解不同的版本类型 在软件开发和发布过程中,版本号和标识扮演着重要的角色。它们不仅帮助开发者追踪软件的演变,还让用户了解软件的稳定性和功能。以下是一些常见的软件版本标识,以及它们的含义和用途。 Alpha&am…...
(计算机毕设)基于SpringBoot的就业平台开题报告
一、立题依据(国内外研究进展或选题背景、研究意义等) 国内外研究进展或选题背景 在全球化的大背景下,就业问题一直是各国政府和社会各界关注的焦点。随着互联网技术的普及和发展,网络招聘已成为求职者和企业招聘的主要渠道。据相关数据显示࿰…...
STM32G4系列MCU的ADC模块标定方法和采样时间
目录 概述 1 ADC模块标定 1.1 功能介绍 1.2 软件程序校准ADC 1.2.1 标定步骤 1.2.2 标定时序框图 1.3 软件程序重新注入校准因子到ADC 1.3.1 标定步骤 1.3.2 更新ADC校准因子 1.4 用单个ADC转换单端和差分模拟输入 1.4.1 标定流程 1.4.2 混合单端和差分通道 2 通道…...
NVIDIA Jetson支持的神经网络加速的量化平台
NVIDIA Jetson支持的神经网络加速的量化工具、技术 NVIDIA Jetson 是专为边缘计算和嵌入式系统设计的高性能计算平台,它支持多种深度学习模型的部署和推理。对于神经网络加速的量化平台,Jetson 支持以下技术和工具: TensorRT:Ten…...
19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...
C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...
高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...
Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...
Windows安装Miniconda
一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...
倒装芯片凸点成型工艺
UBM(Under Bump Metallization)与Bump(焊球)形成工艺流程。我们可以将整张流程图分为三大阶段来理解: 🔧 一、UBM(Under Bump Metallization)工艺流程(黄色区域ÿ…...
