当前位置: 首页 > news >正文

【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 提供了丰富的配置选项,可以满足各种不同的日志需求。需要根据具体情况进行配置。 项目创建&#xff0…...

Java最全面试题->计算机基础面试题->计算机网络面试题

计算机网络 下边是我自己整理的面试题,基本已经很全面了,想要的可以私信我,我会不定期去更新思维导图 哪里不会点哪里 1.说一下TCP/IP四层模型 TCP/IP协议是美国国防部高级计划研究局为实现ARPANET互联网而开发的。 网络接口层&#xff…...

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的就业平台开题报告

一、立题依据(国内外研究进展或选题背景、研究意义等) 国内外研究进展或选题背景 在全球化的大背景下,就业问题一直是各国政府和社会各界关注的焦点。随着互联网技术的普及和发展,网络招聘已成为求职者和企业招聘的主要渠道。据相关数据显示&#xff0…...

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…...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...

Linux-07 ubuntu 的 chrome 启动不了

文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...