Nadace Open Home Foundation spustila veřejnou preview verzi komunitní databáze zařízení pro Home Assistant. Má fungovat jako „Wikipedie pro chytrá zařízení".
Na stránce nového panelu Firefoxu přibudou nové widgety. Například denně aktualizována interaktivní křížovka.
PGSimCity (GitHub) je webová 3D vizualizace vnitřního fungování databázového systému PostgreSQL v podobě města. Vytvořena pomocí umělé inteligence.
UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04-2.0 a 24.04-1.4. Nová verze 24.04-2.0 již počítá s výřezy pro fotoaparát (notch) a zaoblenými rohy displeje. Webový prohlížeče Morph přešel z Chromia 87 na Chromium 134. Do shellu Lomiri byl přidán editor snímků obrazovky.
Byly zveřejněny informace o kritické zranitelnosti CVE-2026-64600 pojmenované RefluXFS (technické detaily) v XFS. Je tam již od verze Linuxu 4.11, tj. rok 2017. Jedná se o lokální eskalaci práv. Neprivilegovaný uživatel může editovat libovolný soubor, například klidně zrušit rootovské heslo v /etc/passwd. Videoukázka na Vimeo. V upstreamu je zranitelnost opravena.
OpenAI / ChatGPT má dnes výpadky (OpenAI Status, DownDetector).
Poskytovatel hostingu svobodných/open-source projektů Codeberg po hlasování na valné hromadě vydal stanovisko k využívání LLM. Kvůli vytěžování infrastruktury a rostoucím cenám hardwaru, ale také hrozbám pro spolupráci v komunitě se k LLM staví kriticky. Nebude poskytovat hosting projektů vytvářených LLM agenty.
Jack Dorsey představil (𝕏) open source týmovou komunikační platformu Buzz (GitHub) s cílem snížit závislost na Slacku a GitHubu.
Poštovní klient Thunderbird byl vydán v nové verzi 153 s kódovým názvem Meadow. Jedná se o ESR (Extended Support Release) vydání. Přehled novinek v poznámkách k vydání. Vylepšuje OAuth. Thundermail lze používat bez instalace doplňku.
AI tento rok naplno vtrhla do vývoje softwaru a výrazně ovlivňuje také open source projekty. Jiří Eischmann v příspěvku Jak mění AI open source na svém blogu rozebírá několik trendů, které v open source v poslední době v souvislosti s AI pozoruje, a jak tyto trendy svět otevřeného softwaru mění (Inflace projektů, Zahlcení kontroly, Klesající motivace zveřejňovat kód).
from PyQt4 import QtCore, QtGui
import sys
import threading
import time
class oknoHlavni:
def __init__(self):
self.klient = klient(self)
##########################
## Hlavni okno programu ##
##########################
self.app = QtGui.QApplication(sys.argv)
self.mainWindow = QtGui.QMainWindow()
self.mainWindow.setWindowTitle("Moje okno")
self.mainWidget=QtGui.QWidget(self.mainWindow)
self.mainWindow.setCentralWidget(self.mainWidget)
self.layout=QtGui.QGridLayout(self.mainWidget)
#################
## WIDGET CHAT ##
#################
self.widgetChat=QtGui.QWidget(self.mainWidget)
self.layout.addWidget(self.widgetChat,1,0,1,1)
self.layoutChat=QtGui.QGridLayout(self.widgetChat)
# okno na zpravy - sklo
self.chatSklo=QtGui.QTextEdit(self.widgetChat)
self.chatSklo.setReadOnly(True)
# prida objekty do layoutu
self.layoutChat.addWidget(self.chatSklo,1,0,1,3)
self.obnoveniOkna()
self.klient.start()
def obnoveniOkna(self):
self.mainWindow.show()
def skloZapisText(self, text):
print "skloZapisText: ", text
self.chatSklo.setText(text)
class klient:
def __init__(self, rodic):
self.grafika = rodic
def start(self):
v1 = threading.Thread(target = self.vlakno)
v1.start()
def vlakno(self):
print "Vlakno"
for i in range(50):
time.sleep(0.5)
self.grafika.skloZapisText("Vlakno..."+str(i))
grafika = oknoHlavni()
sys.exit(grafika.app.exec_())
Program vypíše:
Vlakno skloZapisText: Vlakno...0 QObject: Cannot create children for a parent that is in a different thread. Atd...Předem díky za rady
self.grafika(QtCore.SIGNAL("progress(int)"), nejake_cislo)
Do první třídy (oknoHlavni) bych dal toto:
self.app.connect(?co sem?, QtCore.SIGNAL("progress(int)"), self.skloZapisText)
Jenže co mám dát jako první parametr?
klient dědila od QtCore.QObject, tak by se dal vyvolat vlastní signál přes self.emit. Více tady. A tady máš referenční příručku ke všem PyQt4 třídám.
class klient : public QThread
{
Q_OBJECT
signals:
void addText(QString text);
// atd.
};
class oknoHlavni : public Q...
{
Q_OBJECT
slots:
void textReceived(QString text);
};
// a pak někde
connect(m_pClient, SIGNAL(addText(QString)), this, SLOT(textReceived(QString)));
// posílání:
emit addText(nejakyText); // šlo mi snad i bez emit (?)
(Sorry, ale Python fakt ne-e.)
Tiskni
Sdílej: