如何用python做一個簡單的輸入輸出交互界面?
大家好,我是一行
想問下你寫的程序怎么分享給別人使用?
直接發(fā)代碼!那不會代碼的人豈不是得抓瞎
那做成網(wǎng)站或者微信小程序!時間成本太高了,更何況服務(wù)器又是一筆成本,后期可能還得不斷維護
所以最好的方式就是直接做成界面化的GUI,然后轉(zhuǎn)成exe,直接發(fā)給對方就可以應(yīng)用,從時間成本上計算這種方案最劃算
而且也不用擔(dān)心收益,在界面化里插一張收款碼就可以解決。就算像這樣的“互聯(lián)網(wǎng)乞討”玩法收益不高,但是總比沒有好呀
那用Python做一個GUI最簡單的方式是什么?
故名思義,easygui必須榜上有名
1easygui
easygui作為簡單的龜,下載還是如往常一樣平淡
pip?install?easygui
這個GUI簡單到什么程度,三行代碼就能實現(xiàn)一個簡單的輸入輸出界面,還包括了導(dǎo)包這一行代碼
具體用法就是easygui.msgbox() 來顯示信息,easygui.enterbox() 來輸入信息
代碼案例可以參考下面:
import?easygui
name?=?easygui.enterbox("你是誰?")
easygui.msgbox(name?+?"?你好!")

當(dāng)然,稍微加點內(nèi)容,就可以做一個和電腦猜拳的界面化軟件了,代碼貼在下面可以直接復(fù)制粘貼去運行
import?random
import?easygui?as?G
#?出拳
punches?=?['石頭',?'剪刀',?'布']
computer?=?random.choice(punches)
user?=?G.enterbox('請出拳:(石頭、剪刀、布)')??#?請用戶輸入選擇
while?user?not?in?punches:??#?當(dāng)用戶輸入錯誤,提示錯誤,重新輸入
????G.msgbox('輸入有誤,請重新出拳')
????user?=?G.enterbox('請出拳:(石頭、剪刀、布)')
#?亮拳
def?show(U,?C):
????G.msgbox('————戰(zhàn)斗過程————\n ??電腦出了:%s \n ??你出了:%s\n'?%?(C,?U))
#?勝負
def?competition(U,?C):
????if?((U?==?'石頭'?and?C?==?'剪刀')
????????????or?(U?==?'剪刀'?and?C?==?'布')
????????????or?(U?==?'布'?and?C?==?'石頭')):
????????G.msgbox('—————結(jié)果—————\n\t你贏了!')
????elif?U?==?C:
????????G.msgbox('—————結(jié)果—————\n\t平局!')
????else:
????????G.msgbox('—————結(jié)果—————\n\t你輸了!')
show(user,?computer)
competition(user,?computer)
除了這兩個最常用的方法,還有其他框可以使用,可以參考官網(wǎng)(http://easygui.sourceforge.net/)的教程,案例非常詳細

2其他GUI包
就因為easygui太簡單了,所以還有很多不足,這里一行也介紹其他可以做GUI的包分享給大家
篇幅有限,把這些包和包的官方教程鏈接出來,畢竟沒有什么教程比官方教程更詳細了
tkinter????https://docs.python.org/3/library/tkinter.html PyQT6????https://www.riverbankcomputing.com/static/Docs/PyQt6/ wxPython????https://www.wxpython.org/ Gradio????https://github.com/gradio-app/gradio Steamlit????https://docs.streamlit.io/(需要墻) Dash????https://plotly.com/dash/ FastApi????https://fastapi.tiangolo.com/ Flask????https://flask.palletsprojects.com/en/2.0.x/(需要墻) Django????https://docs.djangoproject.com/en/3.2/
你知道的越多,你不知道的就越多
當(dāng)你知道有個easygui可以很簡單的做出一個GUI程序出來,你就會發(fā)現(xiàn)還有這么多包可以實現(xiàn)更多的GUI功能
我是一行,技術(shù)永不眠,我們下期見~
【推書環(huán)節(jié)】
今天推薦的是北京大學(xué)出版社《Python數(shù)據(jù)分析與可視化從入門到精通》

京東自營購買鏈接:
https://item.jd.com/12832122.html
(1)沒有高深理論,每章都以實例為主,讀者參考書中源碼運行,就能得到與書中一樣的結(jié)果。
(2)專注于Python數(shù)據(jù)分析與可視化操作中實際用到的技術(shù)。相比大而全的書籍資料,本書能讓讀者盡快上手,開始項目開發(fā)。
(3)書中的“新手問答”和“小試牛刀”欄目能讓讀者鞏固知識,舉一反三,學(xué)以致用。
當(dāng)然Python相關(guān)的電子書我也給整理好了在下面??

