Python功能制作之使用streamlit做一个简单的WebUI

使用Streamlit创建WebUI

1. 什么是Streamlit

Streamlit 是一个开源的Python库,用于快速创建美观的Web应用。

它适合数据科学家和机器学习工程师,因为它能够以最小的代码量将数据应用程序带到浏览器中。通过简单的Python脚本,可以创建交互式的数据可视化和仪表板,而无需复杂的前端开发知识。

2. 简单的代码示例

import streamlit as st

def stylish_webui():
    # 设置页面标题和图标
    st.set_page_config(page_title="我的 Web UI", page_icon=":sunglasses:")

    # 标题和副标题
    st.title("欢迎来到我的Web UI")
    st.subheader("使用Streamlit打造的Web应用")

    # 交互式按钮
    if st.button("点击我变nb"):
        st.balloons()
        st.success("你变得更nb了!")

    # 添加一个滑动条
    age = st.slider("选择你的年龄", 0, 100, 25)
    st.write(f"你选择的年龄是: {age}")

    # 添加一个选择框
    hobby = st.selectbox("选择你的爱好", ["编程", "游戏", "音乐", "阅读"])
    st.write(f"你的爱好是: {hobby}")

    # 添加一个文本输入框
    name = st.text_input("输入你的名字")
    if name:
        st.write(f"你好, {name}!")

    # 添加一个多选框
    interests = st.multiselect("选择你的兴趣", ["人工智能", "数据科学", "机器学习", "深度学习"])
    if interests:
        st.write("你的兴趣是:")
        for interest in interests:
            st.write(f"- {interest}")

    # 添加一个文本区域
    feedback = st.text_area("留下你的反馈")
    if st.button("提交反馈"):
        st.write("感谢你的反馈!")
        st.write(feedback)

# 运行这个函数
if __name__ == "__main__":
    stylish_webui()

这个demo展示了如何使用Streamlit创建一个包含标题、副标题、按钮、滑动条、选择框、文本输入框、多选框和文本区域的Web应用。

3. 需要pip install什么

pip install streamlit

4. 怎么运行

在终端运行:

streamlit run AccessibleWeb.py

[确定好位置,位置错误则看看是不是前面有文件夹streamlit run Web/AccessibleWeb.py]

运行这个命令后,Streamlit会启动一个本地服务器,并提供一个URL(通常是http://localhost:8501

可以在浏览器中打开这个URL来查看Web应用。

5 .效果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/756625.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++中的三大池:线程池,内存池,数据库连接池

C中有三大池,即我们常说的:线程池,内存池,数据库连接池。 一.线程池 多线程同时访问共享资源造成数据混乱的原因就是因为CPU的上下文切换导致,线程池就是为了解决此问题而生。 多线程常用的有:std::threa…

基于Spring Boot的校园失物招领系统

1 项目介绍 1.1 研究的背景及意义 在网络时代飞速发展的今天,随着网络技术日臻完善,我们的生活方式正经历深刻变革。在物质追求日益增长的同时,提升个人精神境界也成为了现代人的共同向往,而阅读则是滋养心灵、丰富精神世界的重…

【SpringBoot3学习 | 第1篇】SpringBoot3介绍与配置文件

文章目录 前言 一. SpringBoot3介绍1.1 SpringBoot项目创建1. 创建Maven工程2. 添加依赖(springboot父工程依赖 , web启动器依赖)3. 编写启动引导类(springboot项目运行的入口)4. 编写处理器Controller5. 启动项目 1.2 项目理解1. 依赖不需要写版本原因2. 启动器(Starter)3. Sp…

C++——探索智能指针的设计原理

前言: RAII是资源获得即初始化, 是一种利用对象生命周期来控制程序资源地手段。 智能指针是在对象构造时获取资源, 并且在对象的声明周期内控制资源, 最后在对象析构的时候释放资源。注意, 本篇文章参考——C 智能指针 - 全部用法…

Arduino - TM1637 4 位 7 段显示器

Arduino - TM1637 4 位 7 段显示器 Arduino-TM1637 4 位 7 段显示器 A standard 4-digit 7-segment display is needed for clock, timer and counter projects, but it usually requires 12 connections. The TM1637 module makes it easier by only requiring 4 connectio…

电通出席2024年世界经济论坛(WEF),重申推动可持续发展创新和人才培育的承诺

中国,上海——电通将出席世界经济论坛2024年新领军者年会(夏季达沃斯),本次大会将于6月25日至6月27日在中国大连举行。 2024年世界经济论坛主题为“未来增长的新前沿”,将聚焦于全球经济复苏、通胀缓解,以…

计算机毕业设计Python+Spark知识图谱微博预警系统 微博推荐系统 微博可视化 微博数据分析 微博大数据 微博爬虫 微博预测系统 大数据毕业设计

课题名称 基于Bert模型对微博的言论情感分析设计与实现 课题来源 课题类型 BY 指导教师 学生姓名 专 业 计算机科学与技术 学 号 开题报告内容:(调研资料的准备,设计/论文的目的、要求、思路与预期成果;…

汽车免拆诊断案例 | 2016 款吉利帝豪EV车无法加速

故障现象 一辆2016款吉利帝豪EV车,累计行驶里程约为28.4万km,车主反映车辆无法加速。 故障诊断 接车后路试,行驶约1 km,踩下加速踏板,无法加速,车速为20 km/h左右,同时组合仪表上的电机及控制…

CST--如何在PCB三维模型中自由创建离散端口

在使用CST电磁仿真软件进行PCB的三维建模时,经常会遇到不能自动创建离散端口的问题,原因有很多,比如:缺少元器件封装、开路端口、多端子模型等等,这个时候,很多人会选择手动进行端口创建,但是&a…

centos 7.2 离线部署 mysql 5.7.37

1.安装依赖 清楚mysql从图的依赖 rpm -qa|grep mariadb 存在冲突依赖,进行卸载 rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64 确认gcc版本 ldd --version 安装mysql5.7所需要的依赖 mkdir -p /root/AllInstalls 只下载不安装,用于放到其他机器: yum inst…

Java对象创建过程

在日常开发中,我们常常需要创建对象,那么通过new关键字创建对象的执行中涉及到哪些流程呢?本文主要围绕这个问题来展开。 类的加载 创建对象时我们常常使用new关键字。如下 ObjectA o new ObjectA();对虚拟机来讲首先需要判断ObjectA类的…

一款轻量级的通信协议---MQTT (内含Linux环境搭建)

目录 MQTT MQTT的关键特点: 应用场景 Linux环境搭建: 1. 安装mosquitto 2. Linux下客户端进行通信 3. PC端和Linux下进行通信 安装MQTT. fx 4. MQTT.fx的使用 1. 点击连接 ​编辑 2. 连接成功 3. 订阅主题或者给别的主题发送消息 遇到的问…

Qt 5.14.2+Android环境搭建

1. 安装QT5.14.2的过程中,选中套件(kit) qt for android。 如果已经安装了qt creator但没有安装该套件,可以找到在qt安装目录下的MaintenanceTool.exe,运行该程序添加套件。 2. 安装jdk8,android sdk&…

2.1 大语言模型的训练过程 —— 《带你自学大语言模型》系列

《带你自学大语言模型》系列部分目录及计划,完整版目录见: 带你自学大语言模型系列 —— 前言 第一部分 走进大语言模型(科普向) 第一章 走进大语言模型1.1 从图灵机到GPT,人工智能经历了什么?1.2 如何让…

【全球首个开源AI数字人】DUIX数字人-打造你的AI伴侣!

目录 1. 引言1.1 数字人技术的发展背景1.2 DUIX数字人项目的开源意义1.3 DUIX数字人技术的独特价值1.4 本文目的与结构 2. DUIX数字人概述2.1 定义与核心概念2.2 硅基智能与DUIX的关系2.3 技术架构2.4 开源优势2.5 应用场景2.6 安全与合规性 3. DUIX数字人技术特点3.1 开源性与…

数据结构-分析期末选择题考点(图)

我是梦中传彩笔 欲书花叶寄朝云 目录 图的常见考点(一)图的概念题 图的常见考点(二)图的邻接矩阵、邻接表 图的常见考点(三)拓扑排序 图的常见考点(四)关键路径 图的常见考点&#x…

List接口, ArrayList Vector LinkedList

Collection接口的子接口 子类Vector,ArrayList,LinkedList 1.元素的添加顺序和取出顺序一致,且可重复 2.每个元素都有其对应的顺序索引 方法 在index 1 的位置插入一个对象,list.add(1,list2)获取指定index位置的元素&#…

【你也能从零基础学会网站开发】认识数据库和数据库中的基本概念

🚀 个人主页 极客小俊 ✍🏻 作者简介:程序猿、设计师、技术分享 🐋 希望大家多多支持, 我们一起学习和进步! 🏅 欢迎评论 ❤️点赞💬评论 📂收藏 📂加关注 学习目标 认识…

VMware ESXi 8.0U3 macOS Unlocker OEM BIOS 集成驱动版,新增 12 款 I219 网卡驱动

VMware ESXi 8.0U3 macOS Unlocker & OEM BIOS 集成驱动版,新增 12 款 I219 网卡驱动 VMware ESXi 8.0U3 macOS Unlocker & OEM BIOS 集成网卡驱动和 NVMe 驱动 (集成驱动版) 发布 ESXi 8.0U3 集成驱动版,在个人电脑上运行企业级工作负载 请访…

【51单片机入门】速通定时器

文章目录 前言定时器是什么初始化定时器初始化的大概步骤TMOD寄存器C/T寄存器 触发定时器中断是什么中断函数定时器点亮led 总结 前言 在嵌入式系统的开发中,定时器是一个非常重要的组成部分。它们可以用于产生精确的时间延迟,或者在特定的时间间隔内触…