之前菜鳥小白也寫過一些小工具界面银受,使用的是python內(nèi)置的tkinter庫践盼,需要注意窗口鸦采、組件的大小和位置排列,比較麻煩(想了解的可以看看之前的文章《太實用了咕幻!自己動手寫軟件——GUI編程》)渔伯。
今天菜鳥小白發(fā)現(xiàn)一個比較有趣的python項目,叫做Gooey肄程,號稱能把任何控制臺應(yīng)用程序轉(zhuǎn)換為非常美觀的的GUI應(yīng)用程序锣吼。獲贊1萬多顆星,非常厲害绷耍。
圖片
安裝
它的安裝非常簡單吐限,直接使用pip安裝即可鲜侥。
pip install Gooey
一開始安裝的時候忘記截圖了褂始,這里就不展示截圖了,安裝的時候大概需要個十幾秒的時間描函。
使用舉例
我們先看看下面這個簡單的程序崎苗。
import gooey
from gooey import Gooey
@Gooey(encodings='utf-8', program_name='菜鳥小白的測試', program_description='舉例測試', language='chinese')
def test():
parser = gooey.GooeyParser(description='GUI') # 配置名稱
parser.add_argument('選擇本地文件夾', widget='DirChooser') # 文件夾選擇框
parser.add_argument('選擇本地文件', widget='FileChooser') # 文件夾選擇框
parser.add_argument('輸入文本內(nèi)容', widget='TextField') # 文本輸入框
parser.add_argument('選擇日期', widget='DateChooser') # 日期選擇框
args = parser.parse_args()
print(args)
if __name__ == '__main__':
test()
程序運行起來之后的效果是這樣的。
圖片
組件說明
上面我們是給大家展示了一些組件的效果舀寓,當(dāng)前Gooey支持的組件空間有如下內(nèi)容:
image.png
實現(xiàn)四則運算計算器
接下來我們通過今天看到的Gooey庫胆数,實現(xiàn)一個四則運算計算器。首先上代碼互墓。
@Gooey(encodings='utf-8', program_name='菜鳥小白的計算器', program_description='四則計算器', language='chinese')
def test():
parser = gooey.GooeyParser(description='GUI') # 配置名稱
# parser.add_argument('選擇本地文件夾', widget='DirChooser') # 文件夾選擇框
parser.add_argument('數(shù)字1', widget='TextField') # 文本輸入框
parser.add_argument('數(shù)字2', widget='TextField') # 文本輸入框
parser.add_argument('運算法則', help='僅支持+-*/四則運算', widget='TextField') # 文本輸入框
args = parser.parse_args()
num1 = float(args.數(shù)字1) # 獲取輸入框內(nèi)容
num2 = float(args.數(shù)字2)
sign = args.運算法則
return num1, num2, sign
def main():
num1, num2, sign = test()
if sign == "+":
result = num1 + num2
elif sign == "-":
result = num1 - num2
elif sign == "*":
result = num1 * num2
elif sign == "/":
result = num1 / num2
else:
result = "請輸入合法四則運算符"
print(result)
首先我們定義出來界面的名稱等信息
@Gooey(encodings='utf-8', program_name='菜鳥小白的計算器', program_description='四則計算器', language='chinese')
然后我們定義了三個文本輸入框作為計算器的輸入必尼。
parser.add_argument('數(shù)字1', widget='TextField') # 文本輸入框
parser.add_argument('數(shù)字2', widget='TextField') # 文本輸入框
parser.add_argument('運算法則', help='僅支持+-*/四則運算', widget='TextField') # 文本輸入框
然后我們需要將用戶輸入的內(nèi)容提取出來并返回
args = parser.parse_args()
num1 = float(args.數(shù)字1) # 獲取輸入框內(nèi)容
num2 = float(args.數(shù)字2)
sign = args.運算法則
return num1, num2, sign
最后我們就是根據(jù)返回的內(nèi)容進行計算,打印最終結(jié)果就好了篡撵。
num1, num2, sign = test()
if sign == "+":
result = num1 + num2
elif sign == "-":
result = num1 - num2
elif sign == "*":
result = num1 * num2
elif sign == "/":
result = num1 / num2
else:
result = "請輸入合法四則運算符"
print(result)
最后我們來看個小視頻判莉,看看最終的實現(xiàn)效果。
計算器操作視頻.gif