• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Python Tkinter nie można ustawić tekstu Labela

Object Storage Arubacloud
+1 głos
274 wizyt
pytanie zadane 27 października 2022 w Python przez jakubjordanek Obywatel (1,320 p.)

Cześć, piszę prostą aplikację w pythonie na rpi i chciałbym zrobić prostą pętlę z mruganiem i w momencie kliknięcia przycisku zamiast zdjęcia pojawiała by się godzina. Obecnie po kliknięciu przycisku aplikacja się zamyka, a w konsoli dostaje error. Nie mam pomysłu jak to rozwiązać, poniżej zamieszczam kod i error.

import time
from tkinter import *
from PIL import Image, ImageTk

root = Tk()

root.geometry("1920x1080")
root.attributes("-fullscreen", True)
root.configure(background="black")

w = root.winfo_screenwidth()
h = root.winfo_screenheight()

open_eyes = ImageTk.PhotoImage(Image.open("/home/pi/open_eyes.jpg"))
closed_eyes = ImageTk.PhotoImage(Image.open("/home/pi/closed_eyes.jpg"))

main = Label(root, font=("Arial", 164), bg="black", fg="white", width=w, height=h)
main.place(x=0, y=0)

def openEyes():
    main.config(text='', image=open_eyes)
    main.after(3000, closeEyes)

def closeEyes():
    main.config(text='', image=closed_eyes)
    main.after(150, openEyes)

def clock():
    main.config(text=time.strftime("%H:%M"), image='')
    main.after(5000, openEyes)

buttons = Frame(root, bg='black').pack()
clockBtn = Button(buttons, text="Clock", command=clock).pack(side=LEFT, anchor=NW)
exitBtn = Button(buttons, text="Exit", command=root.destroy).pack(side=LEFT, anchor=NW)

openEyes()

root.mainloop()
X Error of failed request:  BadAlloc (insufficient resources for operation)
  Major opcode of failed request:  53 (X_CreatePixmap)
  Serial number of failed request:  651
  Current serial number in output stream:  653

 

1 odpowiedź

+1 głos
odpowiedź 28 października 2022 przez VBService Ekspert (253,340 p.)
wybrane 1 listopada 2022 przez jakubjordanek
 
Najlepsza

Może spróbuj utworzyć dwa Label-e, jeden dla grafiki, drugi dla zegara, umieść je w tym samym miejscu i tylko właczaj i wyłączaj widoczność danego Label-a [ 1 ] [ 2 ].

Sprawdź też: How to change image in a Label in python using tkinter?

 

P.S. Może jest problem z obrazkami zapisanymi  w jpg (PIL), może zapisz je jako png i wykorzystaj tkinter PhotoImage.

komentarz 1 listopada 2022 przez jakubjordanek Obywatel (1,320 p.)
Okazało się, że wystarczy przenieść width i height bezpośrednio z Labela do place.

Podobne pytania

0 głosów
1 odpowiedź 289 wizyt
pytanie zadane 24 lutego 2023 w Python przez zygota Nowicjusz (140 p.)
0 głosów
1 odpowiedź 861 wizyt
0 głosów
1 odpowiedź 195 wizyt
pytanie zadane 1 października 2022 w Python przez MarcelM Początkujący (340 p.)

92,575 zapytań

141,424 odpowiedzi

319,649 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...