jak dodać do przycisku określone zadanie

0

Witam napisałem sobie taki oto program

from tkinter import*
okno=Tk()

etykieta = Label(okno, text="DOMENA", fg= "green" )
etykieta1= Label(okno, text="LOGIN", fg= "blue" )
etykieta2= Label(okno, text="HASŁO", fg= "red" )

entry=Entry(okno)
entry1=Entry(okno)
entry2=Entry(okno)

etykieta.grid(row=0,sticky=E+W+S+N)
etykieta1.grid(row=1, sticky=E+W+S+N)
etykieta2.grid(row=2,sticky=E+W+S+N)

entry.grid(row=0,column=1)
entry1.grid(row=1,column=1)
entry2.grid(row=2,column=1)
def napisz(event):
print("")
przycisk=Button(okno,text="DODAJ")
przycisk.bind("<Button-1>",napisz)
przycisk.grid(row=3,column=1,sticky=E)

zabezpieczenie=Checkbutton(okno,text="zabezpieczenie")
zabezpieczenie.grid(row=3,sticky=W)

okno.mainloop()
chciałbym aby po kliknięciu dodaj powstawało to co jest napisane
DOMENA
LOGIN
HASŁO
i tak wkółko
nie wiem jak się za to zabrać
ktoś może wie jak to zrobić ?

0
DylanWalker napisał(a):

chciałbym aby po kliknięciu dodaj powstawało to co jest napisane
DOMENA
LOGIN
HASŁO
i tak wkółko
nie wiem jak się za to zabrać
ktoś może wie jak to zrobić ?

Powstawało czyli co? Co ma powstawać? Chcesz sobie wyprintować zawartość pól tekstowych?

Wyjmować zawartość Entry możesz metodą get:

moja_wartosc = moje_entry.get()

Możesz też podpiąć pod Entry własny obiekt zmiennej np. StringVar, podpiąć ten obiekt pod Entry i odwoływać się do niego:

moja_zmienna = StringVar()
moje_entry = Entry(master, textvariable=moja_zmienna)
# blah blah blah
moja_wartosc = moja_zmienna.get()

Bindowanie buttona z funkcją/metodą obsługującą zdarzenie robisz niemal dokładnie tak, jak zrobiłeś - z tego co kojarzę format eventu jest case sensitive:

moj_przycisk.bind("<Button-1>", moja_funkcja)
0

To ma byc podręczny program w którym będę sobie zapisywał domeny oraz loginy i hasła do nich
po kliknięciu dodaj chciałbym aby powstawało kolejne okienko do wpisania Kolejno domena login hasło

0
DylanWalker napisał(a):

po kliknięciu dodaj chciałbym aby powstawało kolejne okienko do wpisania Kolejno domena login hasło

Może ten wątek Ci pomoże: okna dialogowe Tkinter
Do tego wpis na Effbot

Możesz stworzyć sobie powiedzmy klasę reprezentującą okno dialogowe ze wszystkimi bebechami i jakimś interfejsem, który pozwoli wyjąć z niego dane, np. poprzez @property takie jak (w uproszczeniu):

@property
def login(self):
    return self.__login.get()

Twoja funkcja podpięta pod button powinna utworzyć takie okno, odpalić je i po zamknięciu przez użytkownika wyjąć dane. Coś w rodzaju:

def moje_zdarzenie():
   root = Tkinter.Tk()
   okno_dialogowe = OknoDialogowe(root)
   okno_dialogowe.pokaz_sie() # Tutaj sterowanie będzie musiało przejść do nowego okna, wróci po jego zamknięciu i wprowadzeniu danych
   login = okno_dialogowe.login
   haslo = okno_dialogowe.haslo
   # I tak dalej...
0
superdurszlak napisał(a):
DylanWalker napisał(a):

po kliknięciu dodaj chciałbym aby powstawało kolejne okienko do wpisania Kolejno domena login hasło

Może ten wątek Ci pomoże: okna dialogowe Tkinter
Do tego wpis na Effbot

Możesz stworzyć sobie powiedzmy klasę reprezentującą okno dialogowe ze wszystkimi bebechami i jakimś interfejsem, który pozwoli wyjąć z niego dane, np. poprzez @property takie jak (w uproszczeniu):

@property
def login(self):
    return self.__login.get()

Twoja funkcja podpięta pod button powinna utworzyć takie okno, odpalić je i po zamknięciu przez użytkownika wyjąć dane. Coś w rodzaju:

def moje_zdarzenie():
   root = Tkinter.Tk()
   okno_dialogowe = OknoDialogowe(root)
   okno_dialogowe.pokaz_sie() # Tutaj sterowanie będzie musiało przejść do nowego okna, wróci po jego zamknięciu i wprowadzeniu danych
   login = okno_dialogowe.login
   haslo = okno_dialogowe.haslo
   # I tak dalej...

python mówi ze OknoDialogowe jest not defined

0
DylanWalker napisał(a):

python mówi ze OknoDialogowe jest not defined

Powtórzę zatem:

superdurszlak napisał(a):

Możesz stworzyć sobie powiedzmy klasę reprezentującą okno dialogowe ze wszystkimi bebechami

Nie będzie defined, dopóki sobie czegoś takiego nie zaimplementujesz. Obojętnie, w jakiej formie, w przykładzie założyłem, że jako jakaś customowa klasa odpowiedzialna za obsługę okienka dialogowego, stąd nazwa OknoDialogowe. Ciężko, żeby coś customowego było już zaimplementowane - a nawet, gdyby było, raczej nie byłoby nazwane po polsku...

1 użytkowników online, w tym zalogowanych: 0, gości: 1