Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 160 (pdf).
Izrael od února zakáže dětem používat v prostorách základních škol mobilní telefony. Podle agentury AFP to uvedlo izraelské ministerstvo školství, které zdůraznilo negativní dopady, které na žactvo používání telefonů má. Izrael se tímto krokem přidává k rostoucímu počtu zemí, které dětem ve vzdělávacích zařízeních přístup k telefonům omezují.
Internetová společnost Google ze skupiny Alphabet pravděpodobně dostane příští rok pokutu od Evropské komise za nedostatečné dodržování pravidel proti upřednostňování vlastních služeb a produktů ve výsledcích vyhledávání. V březnu EK obvinila Google, že ve výsledcích vyhledávání upřednostňuje na úkor konkurence vlastní služby, například Google Shopping, Google Hotels a Google Flights. Případ staví Google proti specializovaným
… více »Byl oznámen program a spuštěna registrace na konferenci Prague PostgreSQL Developer Day 2026. Konference se koná 27. a 28. ledna a bude mít tři tracky s 18 přednáškami a jeden den workshopů.
Na webu československého síťařského setkání CSNOG 2026 je vyvěšený program, registrace a další informace k akci. CSNOG 2026 se uskuteční 21. a 22. ledna příštího roku a bude se i tentokrát konat ve Zlíně. Přednášky, kterých bude více než 30, budou opět rozdělené do tří bloků - správa sítí, legislativa a regulace a akademické projekty. Počet míst je omezený, proto kdo má zájem, měl by se registrovat co nejdříve.
Máirín Duffy a Brian Smith v článku pro Fedora Magazine ukazují použití LLM pro diagnostiku systému (Fedora Linuxu) přes Model Context Protocol od firmy Anthropic. I ukázkové výstupy v samotném článku obsahují AI vygenerované nesmysly, např. doporučení přeinstalovat balíček pomocí správce balíčků APT z Debianu místo DNF nativního na Fedoře.
Projekt D7VK dospěl do verze 1.0. Jedná se o fork DXVK implementující překlad volání Direct3D 7 na Vulkan. DXVK zvládá Direct3D 8, 9, 10 a 11.
Byla vydána nová verze 2025.4 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení na blogu.
Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) zveřejnil Národní politiku koordinovaného zveřejňování zranitelností (pdf), jejímž cílem je nejen zvyšování bezpečnosti produktů informačních a komunikačních technologií (ICT), ale také ochrana objevitelů zranitelností před negativními právními dopady. Součástí je rovněž vytvoření „koordinátora pro účely CVD“, jímž je podle nového zákona o kybernetické … více »
Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 25.12. Přehled novinek i s náhledy a videi v oficiálním oznámení.
Dělám si program na výpočet matic a determinantů v pythnu za pomocí PyQT4. Jenže jsem uvíznul na mrtvém bodě a nevim jak dál. Matice( determinant) je tvořen pomocí spinboxů chci aby bylo možno pomocí dvou spinboxů zadat počet řádků a sloupců. Gui jsem si navrhnul v QT designeru4 pomocí pyuic4 předělám na modul a nyní nevim jak udělat automatické vykreslování. Mám kód, který si to načte z těch spinboxů( počet řádky a sloupců), jenže udělá to jenom při spuštění nemůžu zaboha docílit aby se, když kliknu na nastavit ty spinboxy změnili.
Tady je kód který dělá to vykreslování:ui.spinBox = []
for i in range(self.spbRadky.value()): #spbRadky je počet řádků
self.spinBox.append([])
for y in range(self.spbSloupce.value()): #spbSloupce je počet sloupců
self.spinBox[i].append(QtGui.QSpinBox(self.gridLayout))
self.gridlayout.addWidget(self.spinBox[i][y],i,y,1,1)
Tady je kousek kódu z gui:
from PyQt4 import QtCore, QtGui
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.setWindowModality(QtCore.Qt.WindowModal)
MainWindow.resize(QtCore.QSize(QtCore.QRect(0,0,543,388).size()).expandedTo(MainWindow.minimumSizeHint()))
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth())
MainWindow.setSizePolicy(sizePolicy)
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.frame = QtGui.QFrame(self.centralwidget)
self.frame.setGeometry(QtCore.QRect(0,250,541,81))
self.frame.setFrameShape(QtGui.QFrame.StyledPanel)
self.frame.setFrameShadow(QtGui.QFrame.Raised)
self.frame.setObjectName("frame")
self.btnVypocti = QtGui.QPushButton(self.frame)
self.btnVypocti.setGeometry(QtCore.QRect(420,40,116,30))
self.btnVypocti.setObjectName("btnVypocti")
self.btnClear = QtGui.QPushButton(self.frame)
self.btnClear.setGeometry(QtCore.QRect(420,10,116,30))
self.btnClear.setObjectName("btnClear")
self.line_2 = QtGui.QFrame(self.frame)
self.line_2.setGeometry(QtCore.QRect(343,0,20,111))
self.line_2.setFrameShape(QtGui.QFrame.VLine)
self.line_2.setFrameShadow(QtGui.QFrame.Sunken)
self.line_2.setObjectName("line_2")
self.spbRadky = QtGui.QSpinBox(self.frame)
self.spbRadky.setGeometry(QtCore.QRect(130,10,62,30))
self.spbRadky.setMinimum(2)
self.spbRadky.setMaximum(5)
self.spbRadky.setObjectName("spbRadky")
self.spbSloupce = QtGui.QSpinBox(self.frame)
self.spbSloupce.setGeometry(QtCore.QRect(130,40,62,30))
self.spbSloupce.setMinimum(2)
self.spbSloupce.setMaximum(5)
self.spbSloupce.setObjectName("spbSloupce")
self.label = QtGui.QLabel(self.frame)
self.label.setGeometry(QtCore.QRect(190,10,47,31))
self.label.setObjectName("label")
self.label_2 = QtGui.QLabel(self.frame)
self.label_2.setGeometry(QtCore.QRect(190,39,71,31))
self.label_2.setObjectName("label_2")
self.btnNastavit = QtGui.QPushButton(self.frame)
self.btnNastavit.setGeometry(QtCore.QRect(250,10,95,30))
self.btnNastavit.setObjectName("btnNastavit")
self.comboboxVyber = QtGui.QComboBox(self.frame)
self.comboboxVyber.setGeometry(QtCore.QRect(10,10,115,29))
self.comboboxVyber.setObjectName("comboboxVyber")
self.widgetMatice = QtGui.QWidget(self.centralwidget)
self.widgetMatice.setGeometry(QtCore.QRect(0,0,401,251))
self.widgetMatice.setObjectName("widgetMatice")
self.gridLayout = QtGui.QWidget(self.widgetMatice)
self.gridLayout.setGeometry(QtCore.QRect(0,0,401,251))
self.gridLayout.setObjectName("gridLayout")
self.gridlayout = QtGui.QGridLayout(self.gridLayout)
self.gridlayout.setObjectName("gridlayout")
#tady jsem měl ten kód vloženej ale udělá se to jenom při spuštění
Podle mě to půjde udělat pomocí signálu, který znova načte celí okno, jenže nevim jak na to. Další možnost je to zapsat do funkce a tu spustit při kliknutí na nastav jenže jsem nepřišel na to aby se to vykreslilo zrovna tam. Před tím jsem to měl udělaný tak že jsem je vytvořil a při nastavení jsem ty co nejsou potřeba skryl ale to mi příjde celkem jako oškliví řešení. Předem moc dík za každou radu. PS. nesmějte se mi jestli je to blbost
Tiskni
Sdílej:
<něco, co dědí od QObject>.connect(<tlačítko>, QtCore.SIGNAL("clicked(bool)"), prekresli).
app = QtGui.QApplication(sys.argv) mainWindow = QtGui.QMainWindow() ui = Ui_MainWindow() ui.setupUi(mainWindow)
#soubor mojeokno.py
import ui
from PyQt4 import QtCore, QtGui
class MojeOkno(QtGui.QMainWindow, ui.Ui_MainWindow):
spinBox = [] #sem budeš cpát nové spinboxy
def __init__(self):
QtGui.QMainWindow.__init__(self) #musí být, jinak to nefunguje
self.setupUi(self) #rozkreslí ti prvky
self.connect(self.buttonNastav, QtCore.SIGNAL("clicked(bool)"), self.prekresli)
#připoj signál na funkci prekresli (ta pod timhle komentarem)
def prekresli(self): #tvoje funkce na překreslení
#chce doladit, jen jsem copy&pastnul tvůj kód.
for i in range(self.spbRadky.value()): #spbRadky je počet řádků
self.spinBox.append([])
for y in range(self.spbSloupce.value()): #spbSloupce je počet sloupců
self.spinBox[i].append(QtGui.QSpinBox(self.gridLayout))
self.gridlayout.addWidget(self.spinBox[i][y],i,y,1,1)
Ve spouštěcím skriptu pak budeš mít něco v tomhle smyslu:
from mojeokno import * app = QtGui.QApplication(sys.argv) mainWindow = MojeOkno()Ještě poznámečka: ty soubory, co vylezou z pyuic4 neupravuj, ale jen je naimportuj a vytvoř si pro ty okna vlastní třídy odvozené od toho, co je v těch souborech. Pak budeš moct gui jen upravit v QtDesigneru, prohnat přes pyuic4 a příslušné soubory přepsat aniž bys přišel o svoje přidané vlastnosti.