Python 板


LINE

近日寫了一個小程式, 期望功能是可以連接到我自己的資料庫, 定時確認特定資料表的幾個欄位最新的數值並顯示出來。 程式運作的期望流程是: 1. 連線資料庫並抓取當下最新的資料 2. 用 after 每隔 5 秒呼叫確認資料的函式 3. 若檢查到資料有更新時,使用 lift 把模擬彈出視窗的物件拉到頂層   原本想用彈出視窗,但發現不時彈出來有點麻煩,所以改 lift 圖片和 label 來模擬 4. lift 呈現 3 ~ 5 秒後,lower 這些模擬用物件使之消失 5. 繼續進行 (2) 步驟 目前測試起來, 連線資料庫與抓資料沒問題、 抓好資料後更新顯示的 label 沒問題、 lift 與 lower 獨立運作沒問題、 用 after 每隔 5 秒呼叫確認資料的函式沒問題, 但如果結合讓模擬的彈出視窗呈現數秒就會卡住(目前我這邊也是用 after)。 def 更新資料: // 更新資料的過程 if 新資料有變動: 模擬用物件.lift() after(3000, 模擬物件lower的函式) after(5000, 更新資料) (抱歉程式不在手邊沒辦法直接貼) 上述這樣子運作時, 程式進了 if 內的 after 會整個卡住且會有「沒有回應」的訊息, 但過了 if 內的 3 秒, 資料顯示還是可以正常運作(但模擬彈出視窗就完全看不見了)。 想過不要用 after 來呼叫 lower, 而是用一個 flag 來確認有沒有需要 lift 或 lower, 但這樣子的 lift 或 lower 會跟著 after(5000, 更新資料) 這行動作, 一次若有數個欄位更新時, 就沒辦法逐一顯示, 只會顯示最後一個更新的欄位。 現階段小弟想到的解決辦法是延續上段的方法, 但要用模擬彈出視窗的資料轉用 list 保存, 每次都檢查 list 內有沒有資料, 有資料就 lift 並將 list[0] 的資料呈現後刪除。 想請教這種情形下有沒有更合適的解法? 在此先謝謝各位前輩花費時間閱讀了,感謝! --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.181.39.217 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1581301958.A.B2F.html
1F:推 poototo: 純經驗分享,覺得tinker似乎效能不佳? 02/10 13:01
2F:→ poototo: 也有用tk的一些控制項來想辦法顯示資料處理的進度 02/10 13:03
3F:→ poototo: 爬蟲,db,檔案等IO存取...少量以為OK,大量一下子就卡 02/10 13:05
4F:→ stucode: 檢查看看「模擬物件lower的函式」那裡有沒有執行什麼長 02/10 19:16
5F:→ stucode: 時間操作。一般會卡到沒有回應表示你程式的某部分占用了 02/10 19:16
6F:→ stucode: GUI 主迴圈的執行緒。把它提出來放到另一個執行緒處理。 02/10 19:16
7F:→ stucode: 如果找不到就先做 profiling 確認 call graph。 02/10 19:16
8F:→ stucode: 也可以看看是不是有把 after(1,foo) 寫成 after(1,foo()) 02/10 19:16
9F:→ jakeasa123: 謝謝兩位前輩建議,小弟再確認一下 02/11 10:40







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Gossiping站內搜尋

TOP