打造 UI-2

控制面板

要讓用戶直接按一個按鈕, 最好還有快速鍵, 就可以把畫面上呈現出來的圖像分類 (也就是搬移到對應的類別子目錄下), 我們再次以下圖來說明設計構想:

  1. 有多少類別就有多少按鈕 (只限類別不多時. 當太多類別要進行分類, 需要額外分析需求)

  2. 每個類別可用快速鍵替代, 例如要將圖片歸為良品, 可按 0

  3. 分類後系統搬移該圖到對應子目錄, 並自動抓下一張圖呈現給用戶, 進行分類

  4. 若因按錯分類, 可立即回復.

首先要讓系統自動產生所有分類按鈕, 我們提供 config.ini 檔案讓用戶自行定義有哪些分類, 以及對應的快速鍵. (很鼓勵直接用 0-9 來表達, 若分類很多可以再加上最接近數字鍵的 QWERTYUIOP 字母).

我們在 models 已經以圖取得 classes Dict, 新的module 以:
from models import classes 沿用即可

config.ini

對於 rollback 這個按鈕, 我們用 QPushButton 即可. 但是對於分類的按鈕, 我們由 classes.items 可以取得所有分類的 keys (0/1/.../3) 還有類別名稱 (良品/待進一步檢測/...), 我們用 QButtonGroup 將所有非類按鈕組在一起, 再以 for 迴圈一個一個按鈕加進來. QPushButton 有個小技巧, 只要於命名上某字母之前加上 '&' 即可代表快速鍵, 例如: 可以先按 Alt 鍵不放再加1鍵 (後續簡稱 Alt +1) 即等同按下 [待進一步檢測] 按鈕.

以 Alt+1 (以及其他Alt +0, 2, 3) 當作快速鍵有點不便, 如果要設計成直接按下 0, 1, ...就可以分類, 那就需要使用 QShortcut, 我們留待下一篇文章說明.