Svobodný citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 8. Přehled novinek v příspěvku na blogu.
Byla vydána verze 1.93.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Svobodný operační systém ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, slaví 30. narozeniny.
Společnost Raspberry Pi má nově v nabídce flash disky Raspberry Pi Flash Drive: 128 GB za 30 dolarů a 256 GB za 55 dolarů.
Technologie Skip pro multiplatformní mobilní vývoj, která umožňuje vývojářům vytvářet iOS a Android aplikace z jediné Swift a SwiftUI kódové základny, se s vydáním verze 1.7 stala open source.
Na GitHubu byl zveřejněn algoritmus "Pro vás" sociální sítě 𝕏.
Byla vydána nová major verze 34.0.0 webového prohlížeče Pale Moon (Wikipedie) vycházejícího z Firefoxu. Přehled novinek v poznámkách k vydání.
Win8DE je desktopové prostředí pro Wayland, inspirované nechvalně proslulým uživatelským rozhraním Metro z Windows 8. Nabízí dlaždicové rozhraní s velkými tlačítky a jednoduchou navigací, optimalizované pro dotyková zařízení. Cílem projektu je přetvořit design operačního systému Windows 8 do funkčního a minimalistického rozhraní vhodného pro každodenní použití na Linuxu.
Laboratoře CZ.NIC vydaly Datovku 4.28.0 a Mobilní Datovku 2.6.0. Hlavní novinkou je ukládání rozpracovaných datových zpráv do konceptů. Datovka je svobodné multiplatformní aplikace pro přístup k datovým schránkám a k trvalému uchovávání datových zpráv v lokální databázi.
Unix Pipe Game je vzdělávací karetní hra zaměřená na děti a rodiče, která děti učí používat unixové příkazy prostřednictvím interaktivních úkolů. Klíčovým prvkem hry je využití symbolu | pro pipeline neboli 'rouru', který umožňuje propojit výstupy a vstupy jednotlivých unixových příkazů, v tomto případě vytištěných na kartičkách. Předpokládá se, že rodič má alespoň nějaké povědomí o unixových příkazech a jejich provazování pomocí |.
… více »
from PyQt4 import QtCore, QtGui
import time,sys
# vytvoreni mutexu
mutex=QtCore.QMutex()
class thread(QtCore.QThread):
"""
Thread, ktery co sekundu posune progress dialog o jeden stupen, dokud nebude na 100
"""
def __init__(self):
QtCore.QThread.__init__(self,None)
def run(self):
"""
Funkce, ktera je spustena po zapnuti threadu funkci start()
"""
# automaticke lockovani threadu pri praci s promennyma mimo tento thread
locker = QtCore.QMutexLocker(mutex)
i=0 # pocitadlo sekund
while i!=1000:
# ukonceni threadu pokud v progressDialogu zmenime promennou end na true
if win.end==True:
break
time.sleep(0.1)
i+=1
# emitovani signalu, na ktery je progressDialog napojen
self.emit(QtCore.SIGNAL("inc(int)"), i)
class progress(QtGui.QProgressDialog):
"""
Derivovana trida progress dialogu
"""
def __init__(self):
"""
Vytvori a spusti thread a progressDialog
"""
QtGui.QProgressDialog.__init__(self,"Test dialogu","Zrusit",0,1000)
self.setWindowModality(QtCore.Qt.WindowModal)
# signaly potrebne k ukonceni threadu pri uzavreni okna a kliknuti na tlacitko pro ukonceni dialogu
QtCore.QObject.connect(app,QtCore.SIGNAL("lastWindowClosed() "),self._exit)
QtCore.QObject.connect(self,QtCore.SIGNAL("canceled() "),self._exit)
# vytvoreni threadu pomoci tridy thread()
self.thread=thread()
self.end=False
# napojeni signalu pro zvednuti stavu progressbaru na fci progressDialogu setValue(int)
QtCore.QObject.connect(self.thread, QtCore.SIGNAL("inc(int)"), self.setValue,QtCore.Qt.QueuedConnection)
# zapnuti threadu
self.thread.start()
def _exit(self):
"""
Vypnuti threadu
"""
self.end=True
self.thread.wait()
app.quit()
app = QtGui.QApplication(sys.argv)
win=progress()
win.show()
sys.exit(app.exec_())
Tiskni
Sdílej: