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 07:00 | Zajímavý článek

Portál Stack Overflow po roce opět vyzpovídal své uživatele, jedná se především o vývojáře softwaru, a zveřejnil detailní výsledky průzkumu. Průzkumu se letos zúčastnilo téměř 65 tisíc vývojářů. Jejich nejpopulárnější i nejmilovanější platformou zůstává Linux.

Ladislav Hagara | Komentářů: 0
dnes 00:33 | Nová verze

Po deseti měsících vývoje byla vydána nová verze 3.10 svobodného alternativního webového prohlížeče NetSurf (Wikipedie). Přehled změn v cgitu.

Ladislav Hagara | Komentářů: 1
včera 23:55 | Nová verze

Oznámení o vydání nové verze 8.3 sady aplikací pro SSH komunikaci OpenSSH obsahuje upozornění, že vzhledem v lednu publikovanému útoku na SHA-1 bude v blízké budoucnosti v OpenSSH ve výchozím stavu zakázáno použití algoritmu ssh-rsa. Zda bude komunikace se serverem i po tomto zákazu fungovat, lze vyzkoušet pomocí příkazu "ssh -oHostKeyAlgorithms=-ssh-rsa user@host".

Ladislav Hagara | Komentářů: 0
26.5. 17:11 | Nová verze

Byla vydána nová stabilní verze 5.15 toolkitu Qt. Přehled novinek na wiki stránce. Jedná se o LTS verzi. V důsledku nedávných změn je ale dlouhodobá podpora pouze pro držitele komerční licence.

Ladislav Hagara | Komentářů: 13
26.5. 11:11 | Komunita

Libre Graphics Meeting 2020, tj. konference a setkání vývojářů a uživatelů svobodných grafických softwarů, proběhne online od středy 27. května do pátku 29. května. Na programu jsou zajímavé přednášky i tutoriály. Sledovat je lze zdarma a bez registrace.

Ladislav Hagara | Komentářů: 2
26.5. 07:00 | Komunita

Canonical na svém blogu oznámil, že Ubuntu 18.04 LTS získalo certifikaci FIPS 140-2 Level 1. Jedná se o americký vládní standard pro počítačovou bezpečnost používaný ke schvalování kryptografických modulů. Certifikace bývá vyžadována u státních, zdravotnických a bankovních IT systémů.

Ladislav Hagara | Komentářů: 16
25.5. 11:44 | Nová verze

Linux Kodachi, linuxová distribuce zaměřená na bezpečnost a ochranu soukromí, byl vydán ve verzi 7.0. Vychází z Xubuntu 18.04. Přehled novinek v changelogu.

Ladislav Hagara | Komentářů: 0
25.5. 11:22 | Humor

Linus Torvalds se v rámci oznámení o vydání Linuxu 5.7-rc7 pochlubil vylepšením svého hlavního počítače: Poprvé za 15 let není uvnitř Intel, není to ještě ARM, je to AMD Threadripper 3970x, allmodconfig je třikrát rychlejší.

Ladislav Hagara | Komentářů: 29
25.5. 11:11 | Komunita

PGCon 2020, tj. konference vývojářů a uživatelů databázového systému PostgreSQL, proběhne online od úterý 26. května do pátku 29. května. Na programu jsou zajímavé přednášky i tutoriály. Sledovat je lze zdarma a bez registrace.

Ladislav Hagara | Komentářů: 0
25.5. 00:22 | Nová verze

Po třech a půl letech od vydání verze 016 byla vydána nová verze 017 alternativní linuxové distribuce GoboLinux. Podrobnosti v představení nové verze a v poznámkách k vydání. GoboLinux nedodržuje standardní hierarchii souborového systému (FHS), nýbrž jsou jednotlivé programy instalovány do vlastních adresářů.

Ladislav Hagara | Komentářů: 3
Kdy přecházíte na nové vydání distribuce/OS?
 (13%)
 (13%)
 (22%)
 (8%)
 (4%)
 (41%)
Celkem 335 hlasů
 Komentářů: 0
Rozcestník

Dotaz: Aktualizace GUI v tKinteru

19.5. 11:15 Vašek
Aktualizace GUI v tKinteru
Přečteno: 171×
Zdravím, mám jednoduchý program v pythonu - counter, který chci zobrazovat v GUI. Po aktualizaci hodnoty counter chci toto zobrazit v GUI. GUi je generováno z PAGE. Někde dělám chybu, asi s vložením do Labelu na řádku 31

Celý kód je zde. https://pastebin.com/z5S6ZuKX

Děkuji za jakoukoli radu.

V.

Odpovědi

19.5. 11:43 debian+
Rozbalit Rozbalit vše Re: Aktualizace GUI v tKinteru
Nechces radsej robit v PyGTK? Tk nie je az taky main stream.
Gréta avatar 19.5. 12:38 Gréta | skóre: 23 | blog: Grétin blogísek | Stockholm
Rozbalit Rozbalit vše Re: Aktualizace GUI v tKinteru

celkem patlanina tvuj zdrojáček jako :D

kopíruju jak je z paste bin sem

#! /usr/bin/env python
#  -*- coding: utf-8 -*-
#
# GUI module generated by PAGE version 5.0.3
#  in conjunction with Tcl version 8.6
#    May 19, 2020 10:28:15 AM CEST  platform: Windows NT

import sys

try:
    import Tkinter as tk
except ImportError:
    import tkinter as tk

try:
    import ttk
    py3 = False
except ImportError:
    import tkinter.ttk as ttk
    py3 = True

import speedmeter_support

count = 0
def main():
    global count
    while (count < 100):
        
        
        count = count + 1
        self.lblspeed.configure(text=count) #tady chci do vložit text do Labelu
        
        root.after(10, vp_start_gui) # Tady zavolat a znova vykreslit GUI
        
    else:
        pass


def vp_start_gui():
    '''Starting point when module is the main routine.'''
    global val, w, root
    root = tk.Tk()
    top = Toplevel1 (root)
    speedmeter_support.init(root, top)
    self.lblspeed.configure(text=count)
    root.after(100, main)
    root.mainloop()

w = None
def create_Toplevel1(rt, *args, **kwargs):
    '''Starting point when module is imported by another module.
       Correct form of call: 'create_Toplevel1(root, *args, **kwargs)' .'''
    global w, w_win, root
    #rt = root
    root = rt
    w = tk.Toplevel (root)
    top = Toplevel1 (w)
    speedmeter_support.init(w, top, *args, **kwargs)
    return (w, top)

def destroy_Toplevel1():
    global w
    w.destroy()
    w = None

class Toplevel1:
    def __init__(self, top=None):
        '''This class configures and populates the toplevel window.
           top is the toplevel containing window.'''
        _bgcolor = '#d9d9d9'  # X11 color: 'gray85'
        _fgcolor = '#000000'  # X11 color: 'black'
        _compcolor = '#d9d9d9' # X11 color: 'gray85'
        _ana1color = '#d9d9d9' # X11 color: 'gray85'
        _ana2color = '#ececec' # Closest X11 color: 'gray92'
        font10 = "-family {Digital-7} -size 24"
        font9 = "-family {Digital-7} -size 20"

        top.geometry("600x450+297+157")
        top.minsize(120, 1)
        top.maxsize(3460, 1181)
        top.resizable(0, 0)
        top.title("Speedmeter")
        top.configure(background="#d9d9d9")

        self.Speed = tk.Label(top)
        self.Speed.place(relx=0.267, rely=0.156, height=31, width=304)
        self.Speed.configure(background="#d9d9d9")
        self.Speed.configure(disabledforeground="#a3a3a3")
        self.Speed.configure(font=font9)
        self.Speed.configure(foreground="#000000")
        self.Speed.configure(text="Počet")

        self.lblspeed = tk.Label(top)
        self.lblspeed.place(relx=0.333, rely=0.311, height=201, width=224)
        self.lblspeed.configure(background="#d9d9d9")
        self.lblspeed.configure(disabledforeground="#a3a3a3")
        self.lblspeed.configure(font=font10)
        self.lblspeed.configure(foreground="#000000")
        self.lblspeed.configure(text=count)

if __name__ == '__main__':
    vp_start_gui()

 

takže co s tim....... nóó uplně zaprvý tamtou proměnou self oběkt přistupuje sám k sobě jeto jako 'this' v jinejch jazycích nóóó a funguje jenom v metodách danýho oběktu. zvenku ho nemužeš volat :'( :'(

vopravit to de na řádečku 45 přepsáním self na top kde top je jakoby tamten náš voběkt třídy toplevel1

top.lblspeed.configure(text=count)

dál tamta funkce root.after vp_start_gui ti pokaždý udělá nový vokýnko pro každej ten update. ty potřebuješ změnit jenom hodnotu tamty komponenty a gui jakoby jenom updatenout.

 

a funkce main na

def main():
    global count, root
    while (count < 100):
        
        
        count = count + 1
        #self.lblspeed.configure(text=count) #tady chci do vložit text do Labelu
        
        #root.after(10, vp_start_gui) # Tady zavolat a znova vykreslit GUI
        top = Toplevel1 (root)
        top.lblspeed.configure(text=count)
        root.update_idletasks()
        
    else:
        pass

 

ale na vopravování/předělávání tam toho jako máš eště dost :O :O třeba jako uplně neni dobrý míchat oběktově orientovanej návrch s těma globálníma proměnýma a celý jeto nějaký takový divný :D ale jóó funguje :D :D ;D

✊3 things to learn in skiing: •how to put on your skis •how to slide downhill •how to walk along the hospital corridor✊
19.5. 13:54 Vašek
Rozbalit Rozbalit vše Re: Aktualizace GUI v tKinteru

Zdravím, tady mám celý kód, do main() jsem vložil zpoždění, jinak se program stále překresloval. GUI se sice aktualizuje, ale celé, ne jen tento Label.

https://pastebin.com/7uPzHUwX

Jak prosím vložit kód tak aby šel rozbalit?

 

Jsem zde i v programování nový.

Gréta avatar 19.5. 16:33 Gréta | skóre: 23 | blog: Grétin blogísek | Stockholm
Rozbalit Rozbalit vše Re: Aktualizace GUI v tKinteru

nevim jestli de v tom tkinteru jakoby aktulatizovat jenom nějakej jeden element :O :O

tady hele je nějaký řešení pomocí callbacku bez ručního volání update se to podobá tomu co asi jako chceš ;D

nóó a nejseš jako první kdo se tady jako ptá jak sem strčit vobarvenej rozbalovací zdrojáček hele :O :D :D ;D joa někdy jim to nadává na věčítka > a menčítka < se musej přepsat do html kódu hele jestli je v zdrojáčku máš aby je to nevidělo jako html tag ;D

✊3 things to learn in skiing: •how to put on your skis •how to slide downhill •how to walk along the hospital corridor✊
20.5. 01:19 .
Rozbalit Rozbalit vše Re: Aktualizace GUI v tKinteru
Jasně, že jde aktualizovat jen jeden element, to dělá to configure. Napíšeš mu, jak dělá pořád nové okno a pak tam jebneš konstruktor, jakože na překreslování? A udělej si další účet na seriózní odpovědi, kde nebudeš psát jak píča.
Gréta avatar 20.5. 11:37 Gréta | skóre: 23 | blog: Grétin blogísek | Stockholm
Rozbalit Rozbalit vše Re: Aktualizace GUI v tKinteru

jenže tam furt jakoby musíš mit někde ten vykreslovací loop co dělá že všecko aktualizuje. tamta funkce root.mainloop se prej +- rovná

while True:
    tk.update_idletasks()
    tk.update()

a tomu zaloopovanýmu volání update tak jak tam jako je se chce vašek z nějakýho záhadnýho důvodu vyhnout a přemejšlí jestli to de jenom jakoby právě pro jeden jedinej element. nóóó a todle nevim jestli de v tkinteru udělat a eště navíc jakoby nějak jednoduše :O :O

si myslim žeto je zbytečný řešit a spíš to svěčí vo nějakejch dalších problémech ve zdrojáčku jakože někde něčemu mění atributy nechce abyseto updatlo nebo tak něco. nóó ale i tak todleto jako nevim :D ;D

noa sorry jako žese snažim pomoct jak jako nejlíp umim :O :/ si druhej účet kde budeš mluvit slušně spíš založ ty ;D ;D

✊3 things to learn in skiing: •how to put on your skis •how to slide downhill •how to walk along the hospital corridor✊
20.5. 01:15 .
Rozbalit Rozbalit vše Re: Aktualizace GUI v tKinteru
def vp_start_gui():
    ...
    top = Toplevel1 (root)
    root.after(100, top.update)

class Toplevel1:
    ...
    count = 0
    def update(self):
        if self.count < 100:
            self.count += 1
            self.lblspeed.configure(text=self.count)
            root.after(100, self.update)

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.