全文共3154字,预计学习时长8分钟
图源:unsplash
借助Streamlit框架,使用用户界面展示Python项目变得前所未有的简单,你可以仅仅使用Python代码来构建基于浏览器的UI。
本次演示将为迷宫求解器程序构建UI。
Streamlit
Streamlit是一种Web框架,旨在供数据科学家使用Python轻松部署模型和可视化。它运行速度既快又简约,代码既漂亮又对用户友好。
它们是有用于用户输入的内置小部件,例如图像上载、滑块、文本输入,以及其他熟悉的HTML元素(例如复选框和单选按钮)。每当用户与简化的应用程序进行交互时,python脚本就会从头到尾重新运行,这是在考虑应用程序的不同状态时要记住的重要概念。
使用pip安装Streamlit:
Pip install streamlit
并在python脚本上运行streamlit:
Streamlit run app.py
使用例子
我在上一篇文章中演示构建了一个Python程序(https://towardsdatascience.com/solving-mazes-with-python-f7a412f2493f),该程序将解决给定图像文件和起始/结束位置的迷宫。
现在,我希望将此程序变成一个单页Web应用程序,用户可以在其中上传迷宫图像(或使用默认迷宫图像),调整迷宫的开始和结束位置,并查看最终解决的迷宫。
首先,为图像上传器创建UI,并选择使用默认图像的选项。可以使用st.write()或st.title()之类的函数添加文本输出,使用streamlit的st.file_uploader()函数存储动态上传的文件。最后,st.checkbox()将根据用户是否已选中复选框返回一个布尔值。
import streamlit as st import cv2 import matplotlib.pyplot as plt import numpy as np import maze st.title( Maze Solver ) uploaded_file = st.file_uploader("Choose an image", ["jpg","jpeg","png"]) #image uploader st.write( O