根據(jù)我的經(jīng)驗(yàn),所有使用 Python/ target=_blank class=infotextkey>Python 的 GUI 框架(Tkinter、PyQT 等)似乎都有些難以上手。那么讓我們來(lái)看看我最喜歡且最簡(jiǎn)單的使用 Python 構(gòu)建 GUI 的方法之一!
Streamlit
我喜歡使用的包是 Streamlit,它所擁有的功能非常棒。下面是您可以使用此包開(kāi)發(fā)的一些前端 GUI 的展示:
如果你們中有人使用過(guò) RShiny,它們有些相似之處。但是我更喜歡 Streamlit,因?yàn)樗哂邢喈?dāng)現(xiàn)代的設(shè)計(jì),而無(wú)需花費(fèi)大量時(shí)間進(jìn)行前端開(kāi)發(fā)。
如果你想開(kāi)發(fā) web 應(yīng)用程序,這個(gè)包可能非常適合你。它的核心功能相當(dāng)基礎(chǔ),雖然這個(gè)包對(duì)我來(lái)說(shuō)幾乎是完美的,但對(duì)你來(lái)說(shuō)可能并不完美。
安裝與開(kāi)發(fā)
我們可以使用 pip install。在終端/命令提示符中運(yùn)行以下命令:
pip install streamlit
一旦安裝完成,我們就可以開(kāi)始使用它了!
構(gòu)建圖形用戶(hù)界面
首先,要導(dǎo)入以下包:
import streamlit as st
import numpy as np
import pandas as pd
import time
這些是我們目前構(gòu)建基本 GUI 所需的包,接下來(lái)讓我們命名我們的應(yīng)用程序:
st.title('My first App')
接著,讓我們來(lái)構(gòu)建一個(gè)表格:
st.write(pd.DataFrame({
'first column': [1, 2, 3, 4],
'second column': [10, 20, 30, 40]
}))
此時(shí),我們有一個(gè)如下所示的 GUI:
Streamlit 還有一個(gè)非常酷的內(nèi)置函數(shù),可以更輕松地構(gòu)建 GUI。如果不使用上面提到的 streamlit 命令,下面的腳本也會(huì)輸出與上面相同的結(jié)果!
df = pd.DataFrame({
‘first column’: [1, 2, 3, 4],
‘second column’: [10, 20, 30, 40]
})
df
接下來(lái),讓我們?cè)诖?GUI 中輸出我們自己的圖表。在此示例中,我們使用不同的數(shù)據(jù)集:
chart_data = pd.DataFrame(
np.random.randn(20, 3),
columns=[‘a’, ‘b’, ‘c’])
st.line_chart(chart_data)
此輸出在 GUI 中基本上是這樣的:
您看到了使用 Streamlit 構(gòu)建 Web 應(yīng)用程序是多么容易,您還可以使用此程序做更多的事情。這是我目前最喜歡的前端開(kāi)發(fā)包之一,希望你也喜歡!
官網(wǎng)地址:https://streamlit.io/
Github 地址:https://github.com/streamlit/streamlit