之前都是使用 tkinter 做 python 的 GUI,pyQt 因為要付費或是要開源,所以不適合商用. 替代解法是使用 pySide2, LGPL 可以不開源做商用。
LGPL 是自由軟體基金會 (Free Software Foundation, FSF) 針對函式庫類別程式所特別撰寫出來的自由軟體授權條款。
LGPL 的軟體進行任何調用、連接而非包含、修改後再利用,則可以商用時不需開源。
PySide2使用的是LGPL授權,引用的函式庫、模組都可以在商用的程式發布時合法使用。
PySide2 中的Qt Designer 則是可以在圖形介面中就直接產出靜態的Python 程式碼.
Qt Designer下載:
https://build-system.fman.io/qt-designer-download
Qt Designer is a tool for quickly building graphical user interfaces with widgets from the Qt GUI framework. It gives you a simple drag-and-drop interface for laying out components such as buttons, text fields, combo boxes and more.
Qt for Python:
https://wiki.qt.io/Qt_for_Python
Mac 使用了程式 QWinFF, 使用的 qt 是支援 LGPL 的授權, 執行畫面如下: