Open-source trackball Ploopy Adept má novou verzi nazvanou A+. Stále jde o symetrický desktopový trackball s šasi z 3D tiskárny a firmwarem QMK. Novinkami jsou dvojice tlačítek, jimiž půjde také otáčet, a volitelná opěrka ruky. Funkcionalita firmwaru je rozšířena o gesta, vrstvy a možnost konfigurace za běhu. Schémata a kód jsou jako obvykle na GitHubu. A+ půjde předobjednat za 99 CAD (bez dopravy a cla/DPH).
Prusa Research představil nové modely svých 3D tiskáren: Prusa XL+, CORE One+ (Gen 2) a CORE One L+.
Crown je multiplatformní open source herní engine. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT a GPLv3+. Byla vydána nová verze 0.64. Vyzkoušet lze online demo.
NVIDIA na konci ledna vydala v beta verzi nativního linuxového klienta své cloudové herní služby GeForce NOW. Včera oznámila ukončení beta verze a oficiální podporu Linuxu.
Byla vydána nová verze 3.5.0 nástroje pro inkrementální kopírování souborů rsync (Wikipedie). Přehled oprav a vylepšení v souboru NEWS. Řešeno je 33 zranitelností.
Organizace Apache Software Foundation (ASF) vydala verzi 31 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Firma IBM uvedla svůj první mikropočítač Personal Computer před 45 lety, v srpnu 1981. Základní konfigurace modelu 5150 za 1 565 tehdejších dolarů obsahovala desktop s Intel 8088 a 16KB RAM, Color Graphics Adapter a klávesnici. Právě klávesnice Model F/XT vybavené kapacitními spínači, vlivné a s převodníkem dodnes použitelné, připomíná sběratelský web Admiral Shark's Keyboards.
Slovensko odhalilo ruské součástky ve dvou testovaných zařízeních na zjišťování přestupků v silničním provozu a označilo je za bezpečnostní riziko. S odvoláním na vyjádření slovenského Národního bezpečnostního úřadu (NBÚ) to včera oznámil ministr vnitra Matúš Šutaj Eštok. Zároveň ohlásil ukončení spolupráce svého úřadu s dodavatelem části uvedeného systému, slovenskou společností Soitron. Opozice, která na problematické kamery upozornila už dříve, vyzvala k odvolání ministra vnitra.
Dle plánu dnes ve 13:00 proběhne veřejný test eDokladů. Jeho cílem je ověřit připravenost aplikace a související infrastruktury na vysokou souběžnou zátěž před podzimními komunálními volbami.
Byla vydána nová verze 3.47 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.13 souvisejícího programovacího jazyka Dart (Wikipedie).
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: