簡體   English   中英

如何使tkinter Canvas僅按需更新?

[英]How to make tkinter Canvas update only on-demand?

我正在用Python編寫圖形程序,我想知道如何僅按需進行Canvas更新。 也就是說,停止畫布更新事件循環的每次運行,而僅在我告訴它時更新。

我想這樣做是因為在我的程序中,我有一個單獨的線程可以從標准輸入中讀取圖形數據,以防止阻塞事件循環(假設沒有可靠,可移植的方式來輪詢Python中的標准輸入,而且輪詢仍然很爛),但是我希望僅在一定時間間隔內更新屏幕,而不是每當獨立線程開始讀取輸入時才更新屏幕。

您必須暫停整個GUI,才能暫停畫布的更新。

一個簡單的解決方案是讓您在准備好更新之前不要繪制到畫布上。 無需調用畫布命令,而是將這些命令推入隊列。 准備刷新顯示時,請遍歷命令並運行它們。

您也可以做自己的雙緩沖,其中有兩個畫布。 您正在積極繪畫的那個將在可見的那個后面。 准備顯示結果時,請交換畫布的堆疊順序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM