Stack Overflow на русском Asked on December 14, 2021
from psutil import sensors_battery
a=sensors_battery()
a=a.percent
print('Текущее состояние батареи:', a)
low_baterry = input('Введите количество заряда при котором будет сигнал: ')
while True:
try:
low_baterry=int(low_baterry)
break
except ValueError:
low_baterry = input('Введите число')
if low_baterry<=90 and low_baterry>=1:
pass
elif low_baterry>90:
print('Слишком много')
elif low_baterry<1:
print('Слишком мало')
else:
pass
from time import sleep
from tkinter import messagebox as mb
while True:
b=sensors_battery()
b=b.percent
if b==low_baterry:
mb.showerror("Внимание", "Количество заряда: "+str(low_baterry)+'%')
break
else:
sleep(5)
При вызове меседжБокс появляется лишние главное окно, как убрать?
Можно при запуске программы принудительно создать главное окно, и сразу скрыть его (один раз). После этого при вызове messagebox главное окно появляться не будет.
import tkinter as tk
from tkinter import messagebox
root = tk.Tk()
root.withdraw()
for i in range(10):
messagebox.showinfo("Title", "Text " + str(i))
Почему оно вообще появляется - скорее всего потому, что разработчики tkinter предполагали, что messagebox будет всегда дочерним к какому-то окну. Фактически главное окно создается при создании любого виджета. Например, если создать кнопку без создания родительского окна, кнопка не появится сама по себе без окна, а создастся окно, на котором появится эта кнопка. Даже если создать диалоговое окно Toplevel
, то оно появится не одно, а вместе с главным окном (если главного окна до этого не было).
Answered by insolor on December 14, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP