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í
×
    včera 15:22 | IT novinky

    Vláda USA nařídila společnosti Anthropic pozastavit přístup k modelům Fable 5 a Mythos 5 pro všechny cizince, včetně zaměstnanců Anthropicu.

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

    Společnost Murena představila (YouTube) novou verzi 4.0 mobilního operačního systému /e/OS (Wikipedie) založeného na Androidu a LineageOS bez aplikací a služeb od Googlu.

    Ladislav Hagara | Komentářů: 0
    12.6. 16:33 | Bezpečnostní upozornění

    V Arch User Repository (AUR) bylo kompromitováno přes 400 opomíjených balíčků (jejich seznam). Útočník do nich začlenil škodlivý npm balíček atomic-lockfile, který krade citlivá data uživatelů. Publikována byla předběžná analýza spouštěného malwaru deps.

    Ladislav Hagara | Komentářů: 8
    12.6. 11:33 | Nová verze

    Homebrew, správce balíčků nejen pro macOS, byl vydán ve verzi 6.0.0 (seznam změn). Hlavními novinkami jsou bezpečnostní mechanismus tap trust kvůli důvěryhodnosti závislostí, vylepšení sandboxingu na Linuxu, interní JSON API nebo zlepšení výkonu.

    |🇵🇸 | Komentářů: 0
    12.6. 03:33 | Bezpečnostní upozornění

    Byla nalezena a 9. června opravena kritická zranitelnost ve FreeBSD v Kernel TLS (KTLS). Pojmenována byla Bumsrakete (FreeBSD-SA-26:26.ktls, CVE-2026-45257). Lokální neprivilegovaný uživatel může přepisovat soubory, ke kterým má právo pouze pro čtení. Přepsáním setuid binárky a jejím spuštěním může získat roota. Na všech verzích od verze 13.0 vydané v dubnu 2021.

    Ladislav Hagara | Komentářů: 2
    11.6. 14:11 | Komunita

    Vývojáři open source operačního systému ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, se na síti 𝕏 pochlubili, že ReactOS zvládne počítačovou hru Half-Life.

    Ladislav Hagara | Komentářů: 5
    11.6. 10:44 | Nová verze

    Byla vydána nová verze 4.8 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Využíván je Free Pascal Compiler (FPC) 3.2.2.

    Ladislav Hagara | Komentářů: 0
    11.6. 04:44 | Nová verze

    Apple container dospěl do verze 1.0.0. Jedná se o open source nástroj pro spouštění linuxových kontejnerů na macOS postavený nad containerization. Napsaný je v programovacím jazyce Swift a optimalizovaný pro Apple silicon.

    Ladislav Hagara | Komentářů: 5
    11.6. 03:33 | Nová verze

    Bylo vydáno Eclipse IDE 2026-06 aneb Eclipse 4.40. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.

    Ladislav Hagara | Komentářů: 0
    10.6. 15:44 | Zajímavý software

    Asterinas (GitHub) je v Rustu napsané jádro operačního systému poskytující s jádrem Linux kompatibilní ABI. Vydána byla verze 0.18.0. První distribucí postavenou nad jádrem Asterinas je Asterinas NixOS. Nejedná se o oficiální projekt NixOS a nemá nic společného s NixOS Foundation.

    Ladislav Hagara | Komentářů: 2
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (16%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1897 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    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: 367×
    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.