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 01:00 | Nová verze

Po více než pěti měsících od vydání verze 3.11.0 byla vydána nová stabilní verze 3.12.0, tj. první z nové řady 3.12, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze zmínit počáteční podporu architektury mips64 (big endian) a programovacího jazyka D.

Ladislav Hagara | Komentářů: 0
29.5. 23:00 | Komunita

Coffee Run je další krátký open source film od Blender Animation Studia. Vše o filmu na Blender Cloudu.

Ladislav Hagara | Komentářů: 5
29.5. 16:33 | Nová verze

Byla vydána nová verze 2020.06.01 distribuce BlackArch Linux (Wikipedie). Jedná se o distribuci založenou na Arch Linuxu zaměřenou na penetrační testování a výzkum počítačové bezpečnosti. Z novinek lze zmínit přes 150 nových nástrojů. Aktuálně jich je 2553.

Ladislav Hagara | Komentářů: 0
29.5. 14:11 | Komunita

V dubnu loňského roku získal multiplatformní open source herní engine Godot (Wikipedie) 50 tisíc dolarů z programu Mozilla Open Source Support (MOSS) Mission Partners na portaci Godot Editoru na webové technologie (HTML5 a WebAssembly), vylepšení podpory WebRTC, přidání podpory WebSocket a vytvoření 3D modelů pro nová dema. Fabio Alessandrelli dnes přestavil jeden z výsledků: Godot Editor běžící ve webovém prohlížeči.

Ladislav Hagara | Komentářů: 0
29.5. 13:44 | Nová verze

Včera bylo oznámeno přejmenování Raspbianu, tj. linuxové distribuce určené především pro jednodeskové miniaturní počítače Raspberry Pi, na Raspberry Pi OS. Dnešní příspěvek na blogu Raspberry Pi a také video na YouTube představuje květnové novinky již v Raspberry Pi OS, konkrétně ve verzi 2020-05-27. Zdůrazněny jsou například nové aplikace Bookshelf a Magnifier. Detaily v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
29.5. 11:11 | Pozvánky

Dnes od 16:00 do 19:15 a zítra od 9:00 do 15:00 lze virtuálně navštívit festival novodobých kutilů Maker Faire Prague Online 2020.

Ladislav Hagara | Komentářů: 0
28.5. 22:22 | Zajímavý projekt

S pomocí 3D tiskárny vyrobitelná klávesnice Katy K80CS (Deskthority, Geekhack) inspirovaná Kinesis Advantage je nyní open hardware – včetně souborů STL nově pod licencí Creative Commons BY-SA. Firmware byl dostupný již dříve. Jedná se o alternativu k populárnímu projektu Dactyl s řadou forků včetně varianty Dactyl-Manuform (viz též galerii, kterou spravuje Xah Lee).

Fluttershy, yay! | Komentářů: 75
28.5. 22:11 | Nová verze

Android Studio (Wikipedie), tj. oficiální integrované vývojové prostředí pro vývoj aplikací pro mobilní operační systém Android, bylo vydáno v nové stabilní verzi 4.0. Přehled novinek i s náhledy v oficiálním oznámení a také na YouTube.

Ladislav Hagara | Komentářů: 0
28.5. 15:33 | Nová verze

Byla vydána verze 1.14 systému pro správu a verzování zdrojových kódů Apache Subversion (Wikipedie). Jedná se o LTS verzi. Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 7
28.5. 14:22 | IT novinky

V červnu loňského roku bylo představeno Raspberry Pi 4 s 1 GB, 2 GB a 4 GB RAM. Dnes přibyla varianta s 8 GB RAM za 75 dolarů. Současně bylo oznámeno přejmenování Raspbianu na Raspberry Pi OS. K dispozici je beta verze 64bitové varianty. Minulý týden byla oznámena beta verze firmwaru umožňujícího bootování Raspberry Pi 4 z USB místo z SD karty.

Ladislav Hagara | Komentářů: 9
Kdy přecházíte na nové vydání distribuce/OS?
 (14%)
 (13%)
 (21%)
 (7%)
 (3%)
 (41%)
Celkem 357 hlasů
 Komentářů: 0
Rozcestník

Dotaz: Aktualizace GUI v tKinteru

19.5. 11:15 Vašek
Aktualizace GUI v tKinteru
Přečteno: 197×
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.