[NVDA應用] 善用NVDA的 Python 主控台 - 精華區

[NVDA應用] 善用NVDA的 Python 主控台

特種兵

特種兵圖像(預設)

2019-09-17 11:38:07

From:211.23.21.202

上次講NVDA附加元件架構主要傳達的是不熟或不會 python 也能開發NVDA附加元件的觀念。
這次要傳達的則是不必安裝 python 也能開發NVDA附加元件,那就是要靠NVDA功能表的工具李的 Python 主控台,啟用快速鍵為 NVDA+control+z。
這個工具模擬原有 python 的互動模式,在開發過程中協助我們進行除錯和查詢所需資訊。

除錯就是把程式碼竹行輸入或從剪貼簿一次貼上多行,然後按 F6 竹行檢視其執行結果。
查詢資訊例如:

我們都很好奇究竟還有哪些內建模組可以 import? 可以輸入
help("modules")
按 F6 可以看到全部列表。

上次我們 import tones 並且用了其中的 beep 函數,該模組還有哪些類別 (class), 函數 (method) 和變數 (attribute) 可以使用呢?輸入
import tones
dir(tones)

還有 beep 的詳細語法如何?輸入
help(tones.beep)

為了方便操作, Python 主控台會自動載入以下模組:
sys, os, wx, log (from logHandler), api, queueHandler, speech, braille

另外當您按下 NVDA+control+z 啟用 Python 主控台,處於當前狀態的幾個NVDA變數也會被除存以供調用查詢:

  • focus: 目前焦點所在物件
  • focusAnc: 目前焦點物件所屬的上層物件
  • fdl: Focus difference level; 焦點差異層級,也就是目前焦點物件處於地幾個層級
  • fg: 目前的作用視窗物件
  • nav: 目前瀏覽的物件
  • mouse: 目前滑鼠所指的物件
  • brlRegions: 目前點字視窗顯示的內容

最後提示:最後執行的結果都會存放在名為 _ (底線)的變數中,例如

>> 3+5
8
>> 2+_
10

按 ALT+F4 或 ESC 可以隱藏這個視窗,若要初始化其記憶內容必須重起NVDA.


來源文章


最後更新:2019-09-17 11:38:07

From: 211.23.21.202

By: 特種兵