У меня есть несколько меток на интерфейсе, и я хочу, чтобы изображение "arkaplan.pbm" отображалось на заднем плане. Я использую этот формат, потому что я заставил его работать с методом отображения изображения на этикетке, поэтому я предполагаю, что canvas может также поддерживать файл pbm.
До сих пор мне удавалось либо показывать метки, либо изображение, но не вместе. Я использовал ярлык, чтобы нарисовать изображение. Поэтому я переключился на метод canvas, но теперь я вообще не вижу изображения.
Я использую Python 3.7 и разрабатываю его на 7-дюймовом экране Raspberry Pi. Что я делаю не так?
from bs4 import BeautifulSoup
import requests
import time
from tkinter import *
import tkinter.font
from PIL import Image, ImageTk
country = "Turkey"
notification_duration = 10
refresh_time = 10 #minutes
data_check= []
worldmetersLink = "https://www.worldometers.info/coronavirus/"
win = tkinter.Tk()
arkaplan_PIL = Image.open("/home/pi/Desktop/arkaplan.pbm")
arkaplan_image = ImageTk.PhotoImage(arkaplan_PIL)
def data_cleanup(array):
L = []
for i in array:
i = i.replace("+","")
i = i.replace("-","")
i = i.replace(",",".")
if i == "":
i = "0"
L.append(i.strip())
return L
win.geometry('800x480')
win.attributes('-fullscreen', True)
while True:
try:
html_page = requests.get(worldmetersLink)
except requests.exceptions.RequestException as e:
print (e)
continue
bs = BeautifulSoup(html_page.content, 'html.parser')
search = bs.select("div tbody tr td")
start = -1
for i in range(len(search)):
if search[i].get_text().find(country) !=-1:
start = i
break
data = []
for i in range(1,8):
try:
data = data + [search[start+i].get_text()]
except:
data = data + ["0"]
data= data_cleanup(data)
if data_check != data:
data_check = data
toplam_vaka=data[0]
toplam_vefat = data[2]
toplam_taburcu = data[4]
etiket1 = Label(win, text=(toplam_vaka),bg="white",fg="black",font = "Helvetica 26 bold italic")
etiket1.place(x=500, y=200)
etiket2 = Label(win, text=(toplam_vefat),bg="white",fg="black",font = "Helvetica 20 bold italic")
etiket2.place(x=450, y=300)
etiket3 = Label(win, text = (toplam_taburcu),bg="white",fg="black",font = "Helvetica 20 bold italic")
etiket3.place(x=600, y=300)
canv = Canvas(win, width=800, height=480, background="white")
canv.create_image(800, 480, image = arkaplan_image)
win.mainloop()
else:
time.sleep(refresh_time*60)
continue