2017-06-22 62 views
2

所以我想知道是否有人能夠幫助我在Python中處理一些事情。想要澄清程序循環(Python)

我正在用Tkinter GUI界面創建一個程序,該界面與串行設備交互,並使用ADC芯片來測量電壓。我想確保我正確理解我如何構建主程序循環以保持一切順利運行。我將闡述我認爲該計劃應該如何運行,如果有人有任何更正,請把它們扔給我。

  1. 程序運行時,GUI接口初始化
  2. 用戶按下一個按鍵按鈕的
  3. 發送信號通過串行
  4. 測量/顯示電壓電平
  5. 週期性地更新電壓顯示
  6. 如果按鈕是按回到步驟3

現在我知道運行我的Tkinter GUI,我設置mainloop()作爲最後一行代碼。現在我的問題很簡單,就是我需要的一切?當mainloop()等待另一個按鈕按下時,它會不斷更新,或者我基本上必須創建一個循環遍歷所有內容的更新方法,直到按下另一個按鈕爲止?

+3

_「或者我基本上必須創建一個循環遍歷所有內容直到另一個按鈕被按下的更新方法?」_ - 並非全部。這就是爲什麼你使用'Tk()。mainloop()'。 'tkinter'爲你做到這一點。你所要做的就是實現當按下按鈕時應該發生的功能。 'tkinter'會聽按鈕按下你的。 –

+0

@ChristianDean你應該發佈這個答案。很好地解釋。 – Abiezer

+0

@ChristianDean所以如果我希望程序在按下按鈕後每秒更新一次電壓(等待另一個按下時),我不需要'while buttonPressed'循環或任何東西? – Skitzafreak

回答

3

當mainloop()等待另一個按鈕按下時,它會不斷更新,還是基本上不得不創建一個循環遍歷所有內容直到另一個按鈕被按下的更新方法?

並非全部。這就是爲什麼你使用tk.Tk().mainloop()。 tkinter爲你做這個。你所要做的就是實現當按下按鈕時應該發生的功能。 tkinter會聽按鈕按下。