abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 00:33 | Nová verze

    Firma Proxmox vydala novou serverovou distribuci Datacenter Manager ve verzi 1.0 (poznámky k vydání). Podobně jako Virtual Environment, Mail Gateway či Backup Server je založená na Debianu, k němuž přidává integraci ZFS, webové administrační rozhraní a další. Datacenter Manager je určený ke správě instalací právě ostatních distribucí Proxmox.

    |🇵🇸 | Komentářů: 0
    včera 23:44 | Nová verze

    Byla vydána nová verze 2.4.66 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 5 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 0
    včera 14:00 | IT novinky

    Programovací jazyk JavaScript (Wikipedie) dnes slaví 30 let od svého oficiálního představení 4. prosince 1995.

    Ladislav Hagara | Komentářů: 0
    včera 04:22 | Bezpečnostní upozornění

    Byly zveřejněny informace o kritické zranitelnosti CVE-2025-55182 s CVSS 10.0 v React Server Components. Zranitelnost je opravena v Reactu 19.0.1, 19.1.2 a 19.2.1.

    Ladislav Hagara | Komentářů: 3
    včera 02:44 | Komunita

    Bylo rozhodnuto, že nejnovější Linux 6.18 je jádrem s prodlouženou upstream podporou (LTS). Ta je aktuálně plánována do prosince 2027. LTS jader je aktuálně šest: 5.10, 5.15, 6.1, 6.6, 6.12 a 6.18.

    Ladislav Hagara | Komentářů: 0
    včera 02:22 | Nová verze

    Byla vydána nová stabilní verze 3.23.0, tj. první z nové řady 3.23, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    3.12. 18:11 | Nová verze

    Byla vydána verze 6.0 webového aplikačního frameworku napsaného v Pythonu Django (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    3.12. 05:55 | Nová verze

    Po více než 7 měsících vývoje od vydání verze 6.8 byla vydána nová verze 6.9 svobodného open source redakčního systému WordPress. Kódové jméno Gene bylo vybráno na počest amerického jazzového klavíristy Gene Harrise (Ray Brown Trio - Summertime).

    Ladislav Hagara | Komentářů: 16
    3.12. 05:11 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za listopad (YouTube).

    Ladislav Hagara | Komentářů: 0
    3.12. 01:55 | Nová verze

    Google Chrome 143 byl prohlášen za stabilní. Nejnovější stabilní verze 143.0.7499.40 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 13 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (18%)
     (23%)
     (15%)
     (25%)
     (16%)
     (18%)
    Celkem 428 hlasů
     Komentářů: 18, poslední 2.12. 18:34
    Rozcestník

    Dotaz: Python3 + TkInter: jak ulozit data z formulare?

    27.2.2017 21:15 zdenek2008 | skóre: 26
    Python3 + TkInter: jak ulozit data z formulare?
    Přečteno: 356×
    Chtel bych si upravovat data v promenne (slovniku) prostrednictvim GUI formulare. Ten formular by se mel generovat podle toho slovniku, takze pocet vstupnich poli by odpovidal poctu polozek ve slovniku, takze zmena poctu polozek slovniku by se automaticky promitla ve zmene gui formulare. To funguje celkem bez problemu, graficky vzhled zatim take neresim. Co mi ale nejde, je jak pozmenene udaje ve formulari ulozit. Idealni by bylo kliknutim na tlacitko "Save" zmenit tu promennou, ale zatim to meni vzdy jen posledni vstupni pole, protoze cyklus for generuje pouze radu totoznych identifikatoru "entry". Nemeli byste nejake tipy jak to doresit?
    CLAIMANT_PYTHON_OBJECT={
        'CLAIMANT_TITLE':'pan',
        'CLAIMANT_FIRST_NAME':'ferda',
        'CLAIMANT_SURNAME':'mravenec',
        'CLAIMANT_PLURAL':'', #s
        'CLAIMANT_PLURAL_CAPITALISED':'', #S
        'CLAIMANT_ADDRESS':'mraveniste pod smrkem',
        'CLAIMANT_POSTCODE_1111':'355',
        'CLAIMANT_POSTCODE_222':'09',
        'CLAIMANT_TELEPHONE_NUMBER':'158158158',
        'CLAIMANT_FAX_NUMBER':'',
        'CLAIMANT_EMAIL':'f.mravenec@mraveniste.cz',
        'CLAIMANT_REF':'',
        }
    
    print('dictionary:', CLAIMANT_PYTHON_OBJECT)
    
    window=Tk()
    window.title('The Claimant')
    frame=Frame(window)
    
    def show_entry_field():
       print(entry.get())
    
    for key, value in CLAIMANT_PYTHON_OBJECT.items():
        label=Label(frame, text=key)
        label.pack()
        entry=Entry(frame)
        entry.insert(0, value)
        entry.pack()
    
    button=Button(frame, text='Save', command=show_entry_field)
    button.pack()
    
    frame.pack(padx=10, pady=10)
    window.mainloop()
    
    print('dictionary amended:', CLAIMANT_PYTHON_OBJECT)
    
    
    Za pripadne napady predem diky.

    Řešení dotazu:


    Odpovědi

    Řešení 1× (zdenek2008 (tazatel))
    27.2.2017 22:32 .
    Rozbalit Rozbalit vše Re: Python3 + TkInter: jak ulozit data z formulare?
    No, někde si je všechny podrž. S minimálními změnami (není to pěkný ani dobrý) třeba takhle:
    CLAIMANT_PYTHON_OBJECT={
    	'CLAIMANT_TITLE':'pan',
    	'CLAIMANT_FIRST_NAME':'ferda',
    	'CLAIMANT_SURNAME':'mravenec',
    	'CLAIMANT_PLURAL':'', #s
    	'CLAIMANT_PLURAL_CAPITALISED':'', #S
    	'CLAIMANT_ADDRESS':'mraveniste pod smrkem',
    	'CLAIMANT_POSTCODE_1111':'355',
    	'CLAIMANT_POSTCODE_222':'09',
    	'CLAIMANT_TELEPHONE_NUMBER':'158158158',
    	'CLAIMANT_FAX_NUMBER':'',
    	'CLAIMANT_EMAIL':'f.mravenec@mraveniste.cz',
    	'CLAIMANT_REF':'',
    	}
    
    print('dictionary:', CLAIMANT_PYTHON_OBJECT)
    
    # <------
    class DictFrame(Frame):
    	def __init__(self, dictionary, *args, **kwargs):
    		super(DictFrame, self).__init__(*args, **kwargs)
    		self.dictionary = dictionary
    		self.entries = []
    
    	def append(self, entry):
    		self.entries.append(entry)
    
    	def save(self):
    		for entry in self.entries:
    			print(entry.key, '=', entry.var.get())
    			self.dictionary[entry.key] = entry.var.get()
    
    # <------
    class KeyEntry(Entry):
    	def __init__(self, key, *args, **kwargs):
    		self.key = key
    		self.var = StringVar()
    		kwargs['textvariable'] = self.var
    		super(KeyEntry, self).__init__(*args, **kwargs)
    
    window=Tk()
    window.title('The Claimant')
    frame=DictFrame(CLAIMANT_PYTHON_OBJECT, window) # <------
    
    for key, value in CLAIMANT_PYTHON_OBJECT.items():
    	label=Label(frame, text=key)
    	label.pack()
    	entry=KeyEntry(key, frame) # <------
    	entry.insert(0, value)
    	entry.pack()
    	frame.append(entry) # <------
    
    button=Button(frame, text='Save', command=frame.save) # <------
    button.pack()
    
    frame.pack(padx=10, pady=10)
    window.mainloop()
    
    print('dictionary amended:', CLAIMANT_PYTHON_OBJECT)
    
    28.2.2017 21:09 zdenek2008 | skóre: 26
    Rozbalit Rozbalit vše Re: Python3 + TkInter: jak ulozit data z formulare?
    Diky, to funguje na 100%.
    27.2.2017 22:39 NN
    Rozbalit Rozbalit vše Re: Python3 + TkInter: jak ulozit data z formulare?
    entries = []
    
    for key, value in CLAIMANT_PYTHON_OBJECT.items():
       ...
       entries.append((key, entry))
    
    for ent in entries:
       print ent[1].get()
    
    28.2.2017 21:06 zdenek2008 | skóre: 26
    Rozbalit Rozbalit vše Re: Python3 + TkInter: jak ulozit data z formulare?
    Takhle?
    import logging
    from decimal import *
    import os
    import glob
    import pickle
    from tkinter import *
    import tkinter.messagebox as box
    
    CLAIMANT_PYTHON_OBJECT={
        'CLAIMANT_TITLE':'pan',
        'CLAIMANT_FIRST_NAME':'ferda',
        'CLAIMANT_SURNAME':'mravenec',
        'CLAIMANT_PLURAL':'', #s
        'CLAIMANT_PLURAL_CAPITALISED':'', #S
        'CLAIMANT_ADDRESS':'mraveniste pod smrkem',
        'CLAIMANT_POSTCODE_1111':'355',
        'CLAIMANT_POSTCODE_222':'09',
        'CLAIMANT_TELEPHONE_NUMBER':'158158158',
        'CLAIMANT_FAX_NUMBER':'',
        'CLAIMANT_EMAIL':'f.mravenec@mraveniste.cz',
        'CLAIMANT_REF':'',
        }
    
    print('dictionary:', CLAIMANT_PYTHON_OBJECT)
    
    window=Tk()
    window.title('The Claimant')
    frame=Frame(window)
    
    def show_entry_field():
       print(entry.get())
    
    entries = []
    
    for key, value in CLAIMANT_PYTHON_OBJECT.items():
        label=Label(frame, text=key)
        label.pack()
        entry=Entry(frame)
        entry.insert(0, value)
        entry.pack()
        entries.append((key, entry))
    
    button=Button(frame, text='Save', command=show_entry_field)
    button.pack()
    
    frame.pack(padx=10, pady=10)
    window.mainloop()
    
    for ent in entries:
       print (ent[1].get())
    
    print('dictionary amended:', CLAIMANT_PYTHON_OBJECT)
    

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.