亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問各位改怎么實現邊播放邊打印時間。

請問各位改怎么實現邊播放邊打印時間。

鴻蒙傳說 2023-05-03 11:11:24
我現在使用Pyqt中Phonon寫一個簡單的音樂播放程。 我想在播放的同時打印音樂當前的時間。def check_if_delay(self):    while True:        print(self.m_media.currentTime(),end='  ')         time.sleep(2)def play(self, index):     self.delayedInit()     self.m_media.setCurrentSource(Phonon.MediaSource(index))     self.check_thread = threading.Thread(target=self.check_if_delay)     self.check_thread.setDaemon(True)     self.check_thread.start()     self.m_media.play()當我player.play(index)時,音樂能播放,但是卻沒有打印。 當我強制中斷音樂播放時,需要打印的時間卻有都出來了。 
查看完整描述

2 回答

?
一只萌萌小番薯

TA貢獻1795條經驗 獲得超7個贊

這并不是block的問題,而是你需要flush stdout。 修改方法是在你的代碼的check_if_play中,print語句之后,time.sleep語句之前,加入一句

sys.stdout.flush()

即可。


查看完整回答
反對 回復 2023-05-06
?
明月笑刀無情

TA貢獻1828條經驗 獲得超4個贊

你有兩個方案,第一,不用多線程,因為顯示線程一定在主線程里,子線程獲取數據了也沒辦法直接往顯示線程里寫,你可以設置一個1s的timer,在timeout的槽里做顯示 第二,如果你使用多線程的話,請用信號和槽來進行數據同步,將子線程里的數值發個信號出來傳遞到主線程的槽里完成更新

查看完整回答
反對 回復 2023-05-06
  • 2 回答
  • 0 關注
  • 128 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號