Graafisessa käyttöliittymässä tarkoitus saada labelit.
Etunimi
Sukunimi
Lähiosoite
Postinro
Postitmp.
Tällä tavalla vasempaan reunaan tasattuna, sain ainoastaan laittamalla välilyöntejä eteen.
Onko tämä oikea tapa vai miten asia tulisi tehdä.
teksti2 = Label(kehys7, text = "Etunimi", width = 13) teksti2.pack(side = LEFT) teksti3 = Label(kehys6, text = " Sukunimi", width = 13) teksti3.pack(side = LEFT) teksti4 = Label(kehys5, text = " Lähiosoite", width = 13) teksti4.pack(side = LEFT) teksti5 = Label(kehys4, text = " Postinro", width = 13) teksti5.pack(side = LEFT) teksti6 = Label(kehys2, text = " Postitmp.", width = 13) teksti6.pack(side = LEFT)
Kiitos, tuolla onkin aika hyvät ohjeet.
Ohessa perusratkaisu Python 3.2:lla . Toiminnallisuutta noissa Entry -kentissä ei ole, mutta sitä, ei pyydetty ja esim. tiedostoihin tallennus ja/tai niiden avaus vaatisi muutaman nappulan tai Menupohjaista -ratkaisua ja esim. grid -asettelua.
# Python 3.2 tkinter- ohjelma komponenttien sijoittelusta
# absoluuttisiin koordinaatteihin
from tkinter import *
class Sovellus(object):
def __init__(self,parent):
f = Frame(parent)
f.pack(fill=BOTH, expand=1)
# luodaan otsikko-oliot ja sijoitetaan ne paikoilleen
Label(f,text='Etunimi').place(x=20,y=20)
Label(f,text='Sukunimi').place(x=20,y=60)
Label(f,text='Lähiosoite').place(x=20,y=100)
Label(f,text='Postinumero').place(x=20,y=140)
Label(f,text='Postitmp').place(x=20,y=180)
# luodaan kentät ja sijoitetaan
self.kentta1 = Entry(f); self.kentta1.place(x=100,y=20)
self.kentta2 = Entry(f); self.kentta2.place(x=100,y=60)
self.kentta3 = Entry(f); self.kentta3.place(x=100,y=100)
self.kentta4 = Entry(f); self.kentta4.place(x=100,y=140)
self.kentta5 = Entry(f); self.kentta5.place(x=100,y=180)
root = Tk() # luo pääikkunan (root)
root.geometry("400x400+300+300")
root.title('Osoitetiedot')
sov = Sovellus(root)
root.mainloop() # käynnistää "ikuisen" tapahtumakuuntelu -loopinAihe on jo aika vanha, joten et voi enää vastata siihen.