Facebook
From donik, 2 Weeks ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 99
  1. import tkinter as tk
  2. from PIL import Image, ImageTk
  3. from tkinter import messagebox
  4. def wykonaj():
  5.     imie = imie_wpis.get()
  6.     nazwisko = nazwisko_wpis.get()
  7.     kolor_oczu = var_kolor.get()
  8.     messagebox.showinfo("",f"{imie} {nazwisko} kolor oczu {kolor_oczu}")
  9.  
  10. def zmien_tekst(e):
  11.     nr = numer_wpis.get()
  12.     images = {
  13.         '000': (zdjecie_000, odcisk_000),
  14.         '111': (zdjecie_111, odcisk_111),
  15.         '333': (zdjecie_333, odcisk_333)
  16.     }
  17.     zdjecie, odcisk = images.get(nr, ('', ''))
  18.     zdjecie_etykieta.configure(image=zdjecie)
  19.     odcisk_etykieta.configure(image=odcisk)
  20.  
  21. def skaluj(sciezka_obrazu, szerokosc, wysokosc):
  22.     obraz = Image.open(sciezka_obrazu)
  23.     przeskalowany_obraz = obraz.resize((szerokosc, wysokosc))
  24.     return ImageTk.PhotoImage(przeskalowany_obraz)
  25.  
  26. okno = tk.Tk()
  27. okno.title("Wprowadzenie danych do paszportu. Wykonał: Adrian Gołębiewski")
  28. okno.geometry("750x300")
  29. okno.configure(background='#5F9EA0')
  30. var_kolor = tk.StringVar()
  31. var_kolor.set('niebieskie')
  32. zdjecie_000 = skaluj('000-zdjecie.jpg', 180, 180)
  33. zdjecie_111 = skaluj('111-zdjecie.jpg', 180, 180)
  34. zdjecie_333 = skaluj('333-zdjecie.jpg', 180, 180)
  35. odcisk_000 = skaluj('000-odcisk.jpg', 140, 180)
  36. odcisk_111 = skaluj('111-odcisk.jpg', 140, 180)
  37. odcisk_333 = skaluj('333-odcisk.jpg', 140, 180)
  38. numer_etykieta = tk.Label(okno, text='Numer', background='#5F9EA0')
  39. imie_etykieta = tk.Label(okno, text='Imię', background='#5F9EA0')
  40. nazwisko_etykieta  = tk.Label(okno, text='Nazwisko', background='#5F9EA0')
  41. numer_wpis = tk.Entry(okno, background='#F0FFFF')
  42. numer_wpis.bind("<FocusOut>", zmien_tekst)
  43. imie_wpis = tk.Entry(okno, background='#F0FFFF')
  44. nazwisko_wpis = tk.Entry(okno, background='#F0FFFF')
  45. ramka_koloru = tk.LabelFrame(okno, text='Kolor oczu', background='#5F9EA0')
  46. niebieskie_nr = tk.Radiobutton(ramka_koloru, text='niebieskie', variable=var_kolor, value='niebieskie', background='#5F9EA0')
  47. zielone_nr = tk.Radiobutton(ramka_koloru, text='zielone', variable=var_kolor, value='zielone', background='#5F9EA0')
  48. piwne_nr = tk.Radiobutton(ramka_koloru, text='piwne', variable=var_kolor, value='piwne', background='#5F9EA0')
  49. ok_przycisk = tk.Button(okno, text="OK", command=wykonaj, background='#F0FFFF')
  50. zdjecie_etykieta = tk.Label(okno, image=zdjecie_000, background='#5F9EA0')
  51. odcisk_etykieta = tk.Label(okno, image=odcisk_000, background='#5F9EA0')
  52. numer_etykieta.place(x=40, y=30)
  53. imie_etykieta.place(x=40, y=65)
  54. nazwisko_etykieta.place(x=40, y=100)
  55. numer_wpis.place(x=150, y=30, width=210)
  56. imie_wpis.place(x=150, y=65, width=210)
  57. nazwisko_wpis.place(x=150, y=100, width=210)
  58. ramka_koloru.place(x=40, y=140, width=300, height=100)
  59. niebieskie_nr.place(x=5, y=5)
  60. zielone_nr.place(x=5, y=35)
  61. piwne_nr.place(x=5, y=65)
  62. ok_przycisk.place(x=460, y=260, width=190, height=30)
  63. zdjecie_etykieta.place(x=390, y=30)
  64. odcisk_etykieta.place(x=600, y=30)
  65. okno.mainloop()
  66.