欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python Tkinter實(shí)時(shí)顯示數(shù)據(jù)功能實(shí)現(xiàn)

 更新時(shí)間:2023年07月05日 15:13:35   作者:檬檸wan  
這篇文章主要介紹了python Tkinter實(shí)時(shí)顯示數(shù)據(jù)功能實(shí)現(xiàn),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

tkinter

tkinter 是 Python 的標(biāo)準(zhǔn) GUI 庫(kù)。Python 使用 tkinter 可以快速的創(chuàng)建 GUI 應(yīng)用程序。由于 tkinter 是內(nèi)置到 python 的安裝包中、只要安裝好 Python 之后就能 import tkinter 庫(kù)、而且 IDLE 也是用 tkinter 編寫而成、對(duì)于簡(jiǎn)單的圖形界面 tkinter 還是能應(yīng)付自如。

python Tkinter實(shí)時(shí)顯示數(shù)據(jù)

前言

使用Tkinter庫(kù)編寫數(shù)據(jù)展示界面。創(chuàng)建一個(gè)窗口,實(shí)時(shí)顯示溫度、濕度和當(dāng)前時(shí)間的標(biāo)簽,并通過(guò)多線程從傳感器獲取模擬溫濕度數(shù)據(jù)并更新界面具體功能如下:

  • 使用tkinter庫(kù)創(chuàng)建窗口和標(biāo)簽。
  • 使用threading庫(kù)創(chuàng)建兩個(gè)線程,一個(gè)用于獲取溫濕度數(shù)據(jù),另一個(gè)用于獲取當(dāng)前時(shí)間。
  • get_temperature_and_humidity方法是在一個(gè)無(wú)限循環(huán)中隨機(jī)生成模擬溫濕度數(shù)據(jù),并將其更新到對(duì)應(yīng)的標(biāo)簽上。每次更新后,通過(guò)調(diào)用self.root.update()刷新窗口,使界面能夠?qū)崟r(shí)展示最新的溫濕度數(shù)據(jù)。
  • get_time方法用于獲取當(dāng)前時(shí)間,并將其更新到對(duì)應(yīng)的標(biāo)簽上。使用self.get_real_time.set(time.strftime(“%H:%M:%S”))設(shè)置當(dāng)前時(shí)間,并通過(guò)遞歸調(diào)用self.root.after(1000, self.get_time)每隔1秒更新一次時(shí)間標(biāo)簽。
  • 在if name == ‘main’:下創(chuàng)建Data_Display對(duì)象并運(yùn)行主事件循環(huán)run.root.mainloop(),使窗口一直運(yùn)行直到被關(guān)閉。

數(shù)據(jù)獲取

import tkinter as tk
import tkinter.font as font
import threading
import random
import time
class Data_Display:
    def __init__(self):
        self.root = tk.Tk()
        self.root.title('數(shù)據(jù)展示')
        self.root.geometry("260x100+1100+150")
        self.font = font.Font(size=15)
        self.interface()
    def interface(self):
        """"溫度、濕度、時(shí)間標(biāo)簽"""
        temperature_label = tk.Label(self.root, text="溫度:", font=self.font)
        temperature_label.grid(row=0, column=0)
        self.get_temperature = tk.StringVar()
        temperature_label_a = tk.Label(self.root,
                                       textvariable=self.get_temperature,
                                       font=self.font)
        temperature_label_a.grid(row=0, column=1)
        temperature_label_b = tk.Label(self.root, text="℃", font=self.font)
        temperature_label_b.grid(row=0, column=2, padx=5)
        humidity_label = tk.Label(self.root, text="濕度:", font=self.font)
        humidity_label.grid(row=0, column=4)
        self.get_humidity = tk.StringVar()
        humidity_label_a = tk.Label(self.root,
                                    textvariable=self.get_humidity,
                                    font=self.font)
        humidity_label_a.grid(row=0, column=5)
        humidity_label_b = tk.Label(self.root, text="%", font=self.font)
        humidity_label_b.grid(row=0, column=6, padx=5)
        self.get_real_time = tk.StringVar()
        time_label = tk.Label(self.root,
                              textvariable=self.get_real_time,
                              font=font.Font(size=30))
        time_label.grid(row=1, column=0, padx=50, columnspan=50)
        # 啟用線程獲取溫濕度數(shù)據(jù)
        T1 = threading.Thread(name='get_temperature_and_humidity',
                              target=self.get_temperature_and_humidity,
                              daemon=True)
        T1.start()
        # 啟用線獲取當(dāng)前時(shí)間
        T2 = threading.Thread(name='get_time',
                              target=self.get_time,
                              daemon=True)
        T2.start()
    def get_temperature_and_humidity(self):
        """獲取溫濕度數(shù)據(jù),并隔一段時(shí)間更新"""
        while True:
            # 隨機(jī)獲取溫度和濕度數(shù)據(jù)
            self.get_temperature.set(random.randint(10, 30))
            self.get_humidity.set(random.randint(10, 100))
            # 獲取時(shí)間間隔3秒
            time.sleep(3)
            # self.root.update() 來(lái)刷新窗口,使得界面能夠?qū)崟r(shí)展示最新的溫濕度數(shù)據(jù)
            self.root.update()
    def get_time(self):
        """獲取當(dāng)前時(shí)間"""
        self.get_real_time.set(time.strftime("%H:%M:%S"))
        # root.after(1000, self.get_time) 是Tkinter中的定時(shí)器方法,用于在指定的時(shí)間(毫秒)后執(zhí)行指定的函數(shù)
        # 每隔1s調(diào)用函數(shù) self.get_time 自身獲取時(shí)間
        self.root.after(1000, self.get_time)
if __name__ == '__main__':
    run = Data_Display()
    run.root.mainloop()

請(qǐng)?zhí)砑訄D片描述

到此這篇關(guān)于python Tkinter實(shí)時(shí)顯示數(shù)據(jù)的文章就介紹到這了,更多相關(guān)python Tkinter顯示數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python3中最常用的5種線程鎖實(shí)例總結(jié)

    Python3中最常用的5種線程鎖實(shí)例總結(jié)

    python3線程中鎖機(jī)制還是很重要的知識(shí)點(diǎn),如果大家不清楚鎖機(jī)制的話,那就一定要好好看下這篇文章,這篇文章主要給大家總結(jié)介紹了光宇Python3中最常用的5種線程鎖,需要的朋友可以參考下
    2021-07-07
  • python?turtle繪制多邊形和跳躍和改變速度特效

    python?turtle繪制多邊形和跳躍和改變速度特效

    這篇文章主要介紹了python?turtle繪制多邊形和跳躍和改變速度特效,文章實(shí)現(xiàn)過(guò)程詳細(xì),需要的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助
    2022-03-03
  • 基于Python實(shí)現(xiàn)微信自動(dòng)回復(fù)功能

    基于Python實(shí)現(xiàn)微信自動(dòng)回復(fù)功能

    這篇文章主要為大家詳細(xì)介紹了Python如何通過(guò)WechatPCAPI來(lái)實(shí)現(xiàn)微信自動(dòng)回復(fù)的功能,文中的示例代碼講解詳細(xì),快跟隨小編一起動(dòng)手嘗試一下
    2022-06-06
  • 基于fastapi框架的異步解讀

    基于fastapi框架的異步解讀

    這篇文章主要介紹了基于fastapi框架的異步解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • django將數(shù)組傳遞給前臺(tái)模板的方法

    django將數(shù)組傳遞給前臺(tái)模板的方法

    今天小編就為大家分享一篇django將數(shù)組傳遞給前臺(tái)模板的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • python正則表達(dá)式最詳解

    python正則表達(dá)式最詳解

    篇文章主要介紹了Python中正則表達(dá)式的詳細(xì)解釋,正則表達(dá)式是Python學(xué)習(xí)進(jìn)階當(dāng)中的重要內(nèi)容,需要的朋友可以參考下
    2021-11-11
  • Flask框架debug與配置項(xiàng)的開啟與設(shè)置詳解

    Flask框架debug與配置項(xiàng)的開啟與設(shè)置詳解

    這篇文章主要介紹了Flask框架debug與配置項(xiàng)的開啟與設(shè)置,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-09-09
  • Matplotlib自定義坐標(biāo)軸刻度的實(shí)現(xiàn)示例

    Matplotlib自定義坐標(biāo)軸刻度的實(shí)現(xiàn)示例

    這篇文章主要介紹了Matplotlib自定義坐標(biāo)軸刻度的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • 一文教會(huì)你使用Python批量縮放圖片

    一文教會(huì)你使用Python批量縮放圖片

    最近處理一些規(guī)格不一的照片,需要修改成指定尺寸便于打印,下面這篇文章主要給大家介紹了關(guān)于使用Python批量縮放圖片的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-02-02
  • Django小白教程之Django用戶注冊(cè)與登錄

    Django小白教程之Django用戶注冊(cè)與登錄

    這篇文章主要介紹了Django小白教程之Django用戶注冊(cè)與登錄的相關(guān)資料,需要的朋友可以參考下
    2016-04-04

最新評(píng)論