IT NEWS PC REVUE PC FORUM FreeBSDInternet time: @007
Obsah fóra
Pravidlá  •  Kontakt  •  Prihlásenie  •  Registrácia

Dal som si poradiť

Mám sa na koho spoľahnúť. A vy? www.partnersgroup.sk

Spoločnosti Online s.r.o.

Ponúkame čisté spoločnosti. Obchodný register vybavíme za vás! www.spolecnostionline.cz

Problémy s nadváhou?

Zistite viac o dosiahnutí ľahšej a zdravšej hmotnosti. www.janinblog.com

Poistenie domácnosti

V prípade núdze sa postaráme o Vaše náhradné bývanie - UNIQA Assistance www.uniqa.sk

Kde sú vaše firemné autá?

Online sledovanie vozidiel pomocou GPS už od 18,90€/mes. Skús demo movys.sk

Python formular nevracia kod

Zaslať odpoveď
AutorSpráva
pogrcko
Užívateľ
Užívateľ

Založený: 23.01.2008
Príspevky: 23

PríspevokZaslal: Št 18.08.11 11:32Odpovedať s citátomNávrat hore

Zdravim zacal som si pisat maly program. Problem ale je ze ked zadam nazov a dam ulozit stane sa to ze mi ulozi len nieake cisla a vobec nie to co som zadal.
Skuste sa na to poziet. Dakujem


kód:
import sqlite3
import tkinter
# premenne#





# praca s DB  Pripoj sa atd ....#
db = sqlite3.connect("mydbx")
db.commit()
#ak nie je DB tak vytvor
def CreateDB():
 db.execute("create table user(name, login)")
 db.execute("create table recept(name, ID, struct)")
 db.commit()

# Zapis do DB #
# Zapis Name and Login#
def ZapisDB(name,login):
 db.execute("insert into user(name, login) values('%s', '%s')" % (name, login))
 db.commit()

# Show user #
def Showuser():
 vystup = db.execute("select * from user")
 for zaznam in vystup:
     print (zaznam)
 vystup = db.execute("select * from user")
 print
 for jmeno, prijmeni in vystup:
     print (name, login)
 db.commit()

# WINDOW HLAVEN OKNA

#hlavne okno
from tkinter import *
hlavne=Tk()

name=Entry(hlavne)
name.pack()
name.focus_set()

login=Entry(hlavne)
login.pack()
login.focus_set()



OK=Button(hlavne, text='Zapis', command=ZapisDB(name,login))
OK.pack()

hlavne.mainloop()


#hlavna cast#


Showuser()


Este detail pred prvou inicializaciou je potrebna napisat CreateDB()
Zobraziť informácie o autoroviOdoslať súkromnú správuZobraziť autorove WWW stránky
juho
Zablokovaný užívateľ
Zablokovaný užívateľ

Založený: 16.05.2007
Príspevky: 837

PríspevokZaslal: Št 18.08.11 14:08Odpovedať s citátomNávrat hore

daj si vypisat retazec pre insert z funkcie zapisDB
a aj ti to vlastne spusti bo mne sa zda ze to je Tkinter napr atd
a ake cisla to tam uklada bo slovo nejake si mozes strcit do trash binu
Zobraziť informácie o autoroviOdoslať súkromnú správuOdoslať e-mail
coldak
Skúsený užívateľ
Skúsený užívateľ

Založený: 29.10.2008
Príspevky: 936

PríspevokZaslal: Št 18.08.11 20:20Odpovedať s citátomNávrat hore

kód:

name=Entry(hlavne)...
OK=Button(hlavne, text='Zapis', command=ZapisDB(name,login))...
db.execute("insert into user(name, login) values('%s', '%s')" % (name, login))...

netrapi ta ze miesto obsahu prvku "name" sa snazis insertnut priamo ten prvok ?
co tak pouzit metodu get() na ziskanie textoveho obsahu prvku "name" ?
Zobraziť informácie o autoroviOdoslať súkromnú správu
pogrcko
Užívateľ
Užívateľ

Založený: 23.01.2008
Príspevky: 23

PríspevokZaslal: Pi 19.08.11 7:44Odpovedať s citátomNávrat hore

Nerozumim tomu kde je chyba. Pozeral som manual a ked urobim

kód:
nam=Entry(hlavne)
nam.pack()
nam.focus_set()......

name = nam.get()


tak mi hazde.
kód:
Taceback (most recent call last):
  File "C:\Documents and Settings\PLC\Desktop\DBConnector\Main.py", line 57, in <module>
    name = nam.get()
  File "C:\Python32\lib\tkinter\__init__.py", line 2375, in get
    return self.tk.call(self._w, 'get')
_tkinter.TclError: invalid command name ".17014224"


za zmienku mozno stoji ze pouzivam python 3. Vsetky tie manualy su pre py2 tak tam obcas musim nieco zmenit.
Zobraziť informácie o autoroviOdoslať súkromnú správuZobraziť autorove WWW stránky
coldak
Skúsený užívateľ
Skúsený užívateľ

Založený: 29.10.2008
Príspevky: 936

PríspevokZaslal: Pi 19.08.11 9:30Odpovedať s citátomNávrat hore

kód:

v = StringVar()
nam=Entry(hlavne, textvariable=v)
nam.pack()
nam.focus_set()......

name = v.get()
Zobraziť informácie o autoroviOdoslať súkromnú správu
pogrcko
Užívateľ
Užívateľ

Založený: 23.01.2008
Príspevky: 23

PríspevokZaslal: Po 22.08.11 13:39Odpovedať s citátomNávrat hore

nieako mi to nefunguje. skusil som to prerobit takto

kód:


from tkinter import *

def volanafunkcia():
    print (add.get())


def hello():
    print ("hello")

#grafika
root = Tk()

#velkost okna
velkost = Canvas(root, width=500, height=500)
velkost.pack()

def vloz():
 add = StringVar()
 vstup = Entry(root, textvariable=add)
 vstup.pack()
 vstup.focus_set()
 tlacitko = Button(root, text="Nacitaj", width=10, command=volanafunkcia, font="ArialNarrow 10")
 tlacitko.pack()

menuLista = Menu(root)
menuLista.add_command(label="Add!", command=vloz)
menuLista.add_command(label="Exit!", command=root.destroy)


#zobrazenie menu
root.config(menu=menuLista)
mainloop()





ale stale to hadze

kód:

Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Python32\lib\tkinter\__init__.py", line 1399, in __call__
    return self.func(*args)
  File "C:\Documents and Settings\PLC\Desktop\DBConnector\mydbx.py", line 3, in volanafunkcia
    print (add.get())
NameError: global name 'add' is not defined



ked dam funkciu volana funkcia za "grafiku" tak topadne hned.
Zobraziť informácie o autoroviOdoslať súkromnú správuZobraziť autorove WWW stránky
coldak
Skúsený užívateľ
Skúsený užívateľ

Založený: 29.10.2008
Príspevky: 936

PríspevokZaslal: Po 22.08.11 14:22Odpovedať s citátomNávrat hore

no ved v chybe mas jasne napisane
kód:
NameError: global name 'add' is not defined

ty si premennu add definoval ako lokalnu premennu vo funkcii vloz() ako chces lokalnu premennu vidiet v inej metode ?
Zobraziť informácie o autoroviOdoslať súkromnú správu
pogrcko
Užívateľ
Užívateľ

Založený: 23.01.2008
Príspevky: 23

PríspevokZaslal: Po 22.08.11 14:57Odpovedať s citátomNávrat hore

no ale ako ju mam zadefinovat?
ked dam na zaciatok kodu add= add.get() tak hadze ze add.get nie je definovane. Ked dam
add = 'none' a dalej dam add=add.get() stale mi to hadze none a nie zadany text. Tak potom kam ju mam zadefinovat?
Zobraziť informácie o autoroviOdoslať súkromnú správuZobraziť autorove WWW stránky
coldak
Skúsený užívateľ
Skúsený užívateľ

Založený: 29.10.2008
Príspevky: 936

PríspevokZaslal: Po 22.08.11 15:12Odpovedať s citátomNávrat hore

a takto si to neskusal ?
kód:

from tkinter import *

 add = StringVar()

 def volanafunkcia():
     global add
     print (add.get())


 def hello():
     print ("hello")

 #grafika
 root = Tk()

 #velkost okna
 velkost = Canvas(root, width=500, height=500)
 velkost.pack()

 def vloz():
  global add
  vstup = Entry(root, textvariable=add)
  vstup.pack()
  vstup.focus_set()
  tlacitko = Button(root, text="Nacitaj", width=10, command=volanafunkcia, font="ArialNarrow 10")
  tlacitko.pack()

 menuLista = Menu(root)
 menuLista.add_command(label="Add!", command=vloz)
 menuLista.add_command(label="Exit!", command=root.destroy)


 #zobrazenie menu
 root.config(menu=menuLista)
 mainloop()
Zobraziť informácie o autoroviOdoslať súkromnú správu
Zobraziť príspevky z predchádzajúcich:    
Zaslať odpoveď
Nemôžete pridávať nové témy do tohto fóra.
Nemôžete odpovedať na témy v tomto fóre.
Nemôžete upravovať svoje príspevky v tomto fóre.
Nemôžete mazať svoje príspevky v tomto fóre.
Nemôžete hlasovať v tomto fóre.

Powered by phpBB 2.x.x © 2005 - 2012 PCforum, webhosting by WebSupport, edited by JanoF

SEO - optimalizácia pre vyhľadávače

Freebsd