Knjiga - mrežno i paralelno programiranje

9. Okviri za unos teksta i naljepnice

U nastavku ćemo se upoznati s dva nova elementa sučelja:

  • okvir za unos teksta – služi za unos teksta s tipkovnice kroz grafičko sučelje – klasa Entry
  • naljepnica – služi za ispis teksta na ekran – klasa Label.

Parametri kojima ćemo koristiti kod ovih elemenata sučelja ekvivalentni su parametrima za gumbe (Najčešće korišteni parametri klase Button) u 7.1. Parametri klase Button i metode grid().

Zadatak 1

Napišimo program koji će na ekranu nacrtati prozor (kao na slici) na čijoj će naslovnoj traci pisati Zbrajanje. Prozor treba imati dva okvira za tekst, jedan ispod drugoga, ispod njih treba imati gumb na kojem piše Zbroji te ispod gumba naljepnicu na kojoj piše tekst 0.

Tekst i naljepnica

Rješenje (pogledajte u 8. Dogovor o pisanju programa s grafičkim korisničkim sučeljem da uočite sličnost):

from tkinter import *

class Program(Frame):
    def __init__(self, root):
        self.root = root
        self.root.title('Zbrajanje')
        super().__init__(self.root)
        self.grid(rows = 4, columns = 1, padx = 5, pady = 5)
        self.KreirajSucelje()
        return
 
    def KreirajSucelje(self):
        #Prvi okvir za tekst
        self.A = Entry(self)
        self.A.grid(row = 1, column = 1)
        #Drugi okvir za tekst
        self.B = Entry(self)
        self.B.grid(row = 2, column = 1)
        #Gumb
        self.Z = Button(self, text = 'Zbroji')
        self.Z.grid(row = 3, column = 1)
        #Naljepnica
        self.R = Label(self, text = '0')
        self.R.grid(row = 4, column = 1)
        return
 
def main():
    p = Program(Tk())
    mainloop()
main()

Današnja zadaća je pročitati što piše u 8. Dogovor o pisanju programa s grafičkim korisničkim sučeljem i 9. Okviri za unos teksta i naljepnice te isprobati zadatak. Zadatak proučite, prekopirajte ga u Python, isprobajte i predajte na link s današnjim datumom.