【分享】一招教你快速開發GUI桌面軟體(全平臺)

作爲軟體工程師,經常要和使用不同OS平臺的客戶打交道,經常客戶的需求只需要一些簡單的操作就可以完成,但是客戶不是工程師,對於任何需要使用“黑框框”的界面都感到頭大,想要解決這個問題就要開發桌面的 GUI (Graphical User Interface) 軟體,這樣就把簡單的事情一下變得很複雜,那麽有沒有什麽辦法可以輕鬆開發桌面GUI軟體呢?

有! 接下來就給大家demo一個我最近學會的方法。

軟體工具清單

  • Python3
  • pyinstaller

1. 用Python的Tkinter開發GUI軟體

Python自帶Tkinter的模塊可以輕鬆開發GUI桌面軟體,加上Python簡單易讀的特性,以及豐富的綫上教程,開發一個好用的GUI桌面軟體可能只需要一兩百行程式碼就夠了,比起Qt動不動要安裝很多工具,使用Python的Tkinter實在是很方便。

想要瞭解更多Tkinter的使用方法可以查看這裏

這裏我們以一個最常用的串口監視器爲例,看看一個用Python寫的自製GUI串口監控器需要怎樣的代碼量:

兩個Python檔加起來只需要 270 行程式碼,算是很小的了。有興趣的朋友可以從這個github上把源碼clone下來,用Python執行一下看看(需要用pip安裝pyserial模組),效果還是很好的,

image


現在問題來了,雖然你可以在自己的筆電上運行這個程式,但這是因爲你已經安裝好了Python開發環境,并且也安裝好了必須的Python模組,但很有可能客戶的電腦上并沒有Python,更沒有這些必須的模組,這該怎麽辦? 別着急,接下來介紹給你一個超好用的工具——pyinstaller

2. 使用pyinstaller來發佈全平臺桌面軟體

這裏的全平臺就是指Windows, Linux 還有 MacOS, 但實際上pyinstaller還支援 AIX, Solaris, FreeBSD and OpenBSD!

往常需要發佈全平臺桌面軟體的話,一定要藉助很多工具,現在只需要一個pyinstaller就夠了,安裝pyinstaller的方法也很簡單,直接使用pip就好,

pip install pyinstaller

(以下以Windows10爲例)
安裝完成之後,就可以找到你存放你的Python GUI程式的程式碼的地方,在地址欄輸入以下指令+回車:

cmd

然後你就會看到window的command prompt從當前路徑跳出來,

image

接下來,你只需要輸入一行指令就可以了,

pyinstaller -w --onefile [你的Python檔的名字]

Done! :confetti_ball:

這樣你就能在當前資料夾下的 dist 資料夾中找到適用于你的OS的應用程式了,而且這個程式可以在任意一臺別的Windows電腦上運行,不需要安裝任何東西!(此方法也適用於別的所有OS)


結語

有人肯定會問:“爲什麽不用Qt開發GUI程式?C語言+Qt不香嗎?”

我的回答是:

人生苦短,我用Python

:laughing:

1 Like

我都用Qt 居多, 不過python 的確套件 超多.很多東西如果不影響效率如USB 部分我都改用python 去做
給某些客戶的量產工具也是用python

1 Like

人生苦短,我用python😄

1 Like

谢谢分享!实用!
请问你们觉得Tkinter和Pyqt哪一个比较好用呢?

如果説快速、小巧、步驟少的話,一定是Tkinter
如果説直觀、方便、功能多的話,那就是PyQT

1 Like

pyQT 採用GPL 在商業上有其疑慮, 而另一套PySide2 採用LGPL 比較適合商業

1 Like

我也發現了,Pyside2好像挺有意思的,都是同一家公司出的,似乎自己挖自己的墻角?

因為商業考量 當初PyQT 跟QT Trolltech 有故事 你可以查一下 八卦