pyqt 事件更新图片显示_使用PyQTamp;树莓派制作一个天气站
生活随笔
收集整理的這篇文章主要介紹了
pyqt 事件更新图片显示_使用PyQTamp;树莓派制作一个天气站
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
吃灰的很久樹莓派 b 偶然翻出來 發揮下余熱,系統采用官方固件 Raspberry Pi OS(Raspbian) ,由于我的屏幕時由HDMI 驅動所以無需特殊配置其他驅動(我這裝了下賣家給的驅動調整了下屏幕分辨率)
裝完系統直接安裝PyQt即可 sudo apt-get install python3-pyqt5
代碼比較簡單 簡單說一下,因為時間需要每秒刷新,所以需要用到多線程來防止卡死UI
我們可以重寫run方法來實現
class UpdateTime(QThread):signal = pyqtSignal(str,str,str) #括號里填寫信號傳遞的參數類型,調用TimeTick的函數要和這里對應def __init__(self):super().__init__()def __del__(self):self.wait()def run(self):global picIntglobal timeUpdatewhile True:timeUpdate = datetime.datetime.now() #每秒獲取下時間strtime0 = timeUpdate.strftime('%S')strtime1 = timeUpdate.strftime('%H:%M:%S') #時 分 秒 strtime2 = timeUpdate.strftime('%w') #星期strtime3 = timeUpdate.strftime('%m') #月strtime4 = timeUpdate.strftime('%d') #日self.signal.emit(strtime1,todayWeek(strtime2),str(strtime3+"月"+strtime4+"日")) # 發射信號picInt = int(strtime0)#這里單獨存一個秒用來判斷換圖時間time.sleep(1)獲取天氣部分 API 處理,完整的json 格式說明詳見工程中的 jsonInfo/天氣模板.json
工程中還附有一個城市代碼,可以找到自己的城市替換api 尾部的代碼 http://t.weather.itboy.net/api/weather/city/101280701
#獲取天氣 def getTemp():try: # 連接超時,6秒,下載文件超時,7秒r = requests.get('http://t.weather.itboy.net/api/weather/city/101280701',timeout=(6,7)) r.encoding = 'utf-8'tempList = [(r.json()['cityInfo']['city']), #城市(r.json()['data']['forecast'][0]['low']), #今日低溫(r.json()['data']['forecast'][0]['high']), #今日高溫(r.json()['data']['forecast'][0]['type']), #今日天氣(r.json()['data']['forecast'][1]['low']), #明日低溫(r.json()['data']['forecast'][1]['high']), #明日高溫(r.json()['data']['forecast'][1]['type']), #明日天氣(r.json()['data']['forecast'][2]['low']), #后日低溫(r.json()['data']['forecast'][2]['high']), #后日高溫(r.json()['data']['forecast'][2]['type']), #后日天氣(r.json()['data']['forecast'][3]['low']), #大后日低溫(r.json()['data']['forecast'][3]['high']), #大后日高溫(r.json()['data']['forecast'][3]['type']), #大后日天氣(r.json()['cityInfo']['updateTime']) #更新時間]except:tempList = ["---"]*14return tempListelse:return tempList由于在PC 調試get_cpu_temp() 和get_gpu_temp() 兩個函數不能再pc 下使用先注釋掉了,再樹莓派中跑的時候記得把代碼還原
# cpuTemp = get_cpu_temp()
# gpuTemp = get_gpu_temp()
cpuTemp = 23
gpuTemp = 23
工程下載
ShaderFallback/Raspberry-Pi-PyQt?github.com字體文件來自 (字體有版權商用前請自理!)
三極纖云簡體正版字體下載 正版字體版權購買 - 正版中文字體版權購買及下載盡在字體家?www.zitijia.com總結
以上是生活随笔為你收集整理的pyqt 事件更新图片显示_使用PyQTamp;树莓派制作一个天气站的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: opengl游戏引擎源码_跨平台渲染引擎
- 下一篇: angular 字符串转换成数字_一文看