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

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统

医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...

条件运算符

C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...

#Uniapp篇:chrome调试unapp适配

chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...