当前位置: 首页 > 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…...

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

【Java学习笔记】Arrays类

Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...

NFT模式:数字资产确权与链游经济系统构建

NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】

大家好,我是java1234_小锋老师,看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】,分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...

C# 表达式和运算符(求值顺序)

求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...

go 里面的指针

指针 在 Go 中,指针(pointer)是一个变量的内存地址,就像 C 语言那样: a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10,通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...

学习一下用鸿蒙​​DevEco Studio HarmonyOS5实现百度地图

在鸿蒙(HarmonyOS5)中集成百度地图,可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API,可以构建跨设备的定位、导航和地图展示功能。 ​​1. 鸿蒙环境准备​​ ​​开发工具​​:下载安装 ​​De…...