IBM kupuje společnost HashiCorp za 6,4 miliardy dolarů, tj. 35 dolarů za akcii.
Byl vydán TrueNAS SCALE 24.04 “Dragonfish”. Přehled novinek této open source storage platformy postavené na Debianu v poznámkách k vydání.
Oznámeny byly nové Raspberry Pi Compute Module 4S. Vedle původní 1 GB varianty jsou nově k dispozici také varianty s 2 GB, 4 GB a 8 GB paměti. Compute Modules 4S mají na rozdíl od Compute Module 4 tvar a velikost Compute Module 3+ a předchozích. Lze tak provést snadný upgrade.
Po roce vývoje od vydání verze 1.24.0 byla vydána nová stabilní verze 1.26.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.26.
Byla vydána nová verze 6.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.14.
Byla vydána nová verze 30.0.0 frameworku pro vývoj multiplatformních desktopových aplikací pomocí JavaScriptu, HTML a CSS Electron (Wikipedie, GitHub). Chromium bylo aktualizováno na verzi 124.0.6367.49, V8 na verzi 12.4 a Node.js na verzi 20.11.1. Electron byl původně vyvíjen pro editor Atom pod názvem Atom Shell. Dnes je na Electronu postavena celá řada dalších aplikací.
Byla vydána nová verze 9.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 220 vývojářů. Provedeno bylo více než 2 700 commitů. Přehled úprav a nových vlastností v seznamu změn.
Evropský parlament dnes přijal směrnici týkající se tzv. práva spotřebitele na opravu. Poslanci ji podpořili 584 hlasy (3 bylo proti a 14 se zdrželo hlasování). Směrnice ujasňuje povinnosti výrobců opravovat zboží a motivovat spotřebitele k tomu, aby si výrobky nechávali opravit a prodloužili tak jejich životnost.
Bylo oznámeno (cs) vydání Fedora Linuxu 40. Přehled novinek ve Fedora Workstation 40 a Fedora KDE 40 na stránkách Fedora Magazinu. Současně byl oznámen notebook Slimbook Fedora 2.
ČTK (Česká tisková kancelář) upozorňuje (X), že na jejím zpravodajském webu České noviny byly dnes dopoledne neznámým útočníkem umístěny dva smyšlené texty, které nepocházejí z její produkce. Jde o text s titulkem „BIS zabránila pokusu o atentát na nově zvoleného slovenského prezidenta Petra Pelligriniho“ a o údajné mimořádné prohlášení ministra Lipavského k témuž. Tyto dezinformace byly útočníky zveřejněny i s příslušnými notifikacemi v mobilní aplikaci Českých novin. ČTK ve svém zpravodajském servisu žádnou informaci v tomto znění nevydala.
#!/usr/bin/python import sys import os import string from PyQt4 import QtGui, QtCore class MainWindow(QtGui.QMainWindow): def __init__(self): QtGui.QMainWindow.__init__(self) self.resize(400, 400) self.setWindowTitle('segmentation') #status bar self.statusBar().showMessage('Ready') #exit exit = QtGui.QAction('Exit', self) exit.setStatusTip('Exit application') self.connect(exit, QtCore.SIGNAL('triggered()'), self.close) #open bmp openBMP= QtGui.QAction('Open BMP', self) openBMP.setStatusTip('Open directory with BMP images') self.connect(openBMP, QtCore.SIGNAL('triggered()'), self.BMP) #menu bar menubar = self.menuBar() file = menubar.addMenu('&File') file.addAction(exit) file.addAction(openBMP) def BMP(self): print "open directory with bmp images" dirname = QtGui.QFileDialog.getExistingDirectory(self,"Open Directory with bmp images",'./',QtGui.QFileDialog.ShowDirsOnly) print "choosen directory: ",dirname file_in_dir=os.listdir(str(dirname)) file_prefix=[] for i in range (len(file_in_dir)): print "file laoded: ", file_in_dir[i] prefix=string.split(file_in_dir[i],".") if (prefix[0] in file_prefix)==False: file_prefix.append(prefix[0]) print "number loaded images from directory: ",i+1 self.file_prefix=file_prefix app = QtGui.QApplication(sys.argv) main = MainWindow() main.show() sys.exit(app.exec_())
if prefix[0] not in file_prefix:
ne
if (prefix[0] in file_prefix)==False:
A když už jsme u toho, asi bych celou tuhle smyčku napsal jako set([item.split('.')[0] for item in file_prefix])
. Sice dostaneš set a ne list, ale ten můžeš iterovat taky, a přinejhorším ho vždycky můžeš převést zpět na list pomocí list().
Dalo by se pokračovat, ale taky už jsem při nedělním večeru línej Jestli jsi začátečník i v Pythonu, nejen v PyQt4, doporučuju raději začít u základů, a ne se hned vrhat na GUI aplikace. Nebudeš si zbytečně lámat hlavu nad věcmi, které plynou právě z těch základů.
#!/usr/bin/python import sys import os import string from PyQt4 import QtGui, QtCore class MainWindow(QtGui.QMainWindow): def __init__(self): QtGui.QMainWindow.__init__(self) self.resize(400, 400) self.setWindowTitle('segmentation') #status bar self.statusBar().showMessage('Ready') #exit exit = QtGui.QAction('Exit', self) exit.setStatusTip('Exit application') self.connect(exit, QtCore.SIGNAL('triggered()'), self.close) #open bmp openBMP= QtGui.QAction('Open BMP', self) openBMP.setStatusTip('Open directory with BMP images') self.connect(openBMP, QtCore.SIGNAL('triggered()'), self.BMP) #menu bar menubar = self.menuBar() file = menubar.addMenu('&File') file.addAction(exit) file.addAction(openBMP) def BMP(self): print "open directory with bmp images" dirname = QtGui.QFileDialog.getExistingDirectory(self,"Open Directory with bmp images",'./',QtGui.QFileDialog.ShowDirsOnly) print "choosen directory: ",dirname file_in_dir=os.listdir(str(dirname)) file_prefix=[] for i in range (len(file_in_dir)): print "file laoded: ", file_in_dir[i] prefix=string.split(file_in_dir[i],".") if (prefix[0] in file_prefix)==False: file_prefix.append(prefix[0]) print "number loaded images from directory: ",i+1 self.file_prefix=file_prefix self.ChBox_prefix=CheckBox_BMP() print self.ChBox_prefix.create_values(self) class CheckBox_BMP(QtGui.QWidget): def __init__(self): QtGui.QWidget.__init__(self) ChB_BMPWidget=QtGui.QWidget(self) self.setWindowTitle('Choose prefix') self.setGeometry(300, 300, 210, 60) self.show() def create_values(self,parent): ChB_grid=QtGui.QGridLayout(self) ChB_BMP_Label=QtGui.QLabel("Choose prefix: ",self) ChB_grid.addWidget(ChB_BMP_Label,0,0) self.cb=[] for i in range(len(parent.file_prefix)): self.cb.append(QtGui.QRadioButton(parent.file_prefix[i],self)) self.cb[i].setFocusPolicy(QtCore.Qt.NoFocus) ChB_grid.addWidget(self.cb[i],i+1,0) print "loaded prefix:",parent.file_prefix self.cb[0].setChecked(True) OK_button=QtGui.QPushButton("OK",self) ChB_grid.addWidget(OK_button,i+2,1,QtCore.Qt.AlignRight) self.connect(OK_button,QtCore.SIGNAL("clicked()"),self.what_prefix) def what_prefix(self): i=0 while (self.cb[i].isChecked()==False): i=i+1 print "choosen prefix: ",i self.close() app = QtGui.QApplication(sys.argv) main = MainWindow() main.show() sys.exit(app.exec_())
self.ChBox_prefix=CheckBox_BMP(self)
. Potom v instanci CheckBox_BMP získaš odkaz na MainWindows pomocí metody self.parent(), a můžeš napsat např. self.parent().chosen_prefix = self.cb[i].text()
, a v MainWindow si pak přečteš prefix přes self.chosen_prefix
. Ale pořád je to strašně prasácký Nicméně z toho si nedělej, proti tomu co jsem psával ze začátku já to máš ještě zlatý
#!/usr/bin/python import sys import os from PyQt4 import QtGui, QtCore class MainWindow(QtGui.QMainWindow): def __init__(self): QtGui.QMainWindow.__init__(self) self.resize(400, 400) self.setWindowTitle('segmentation') #status bar self.statusBar().showMessage('Ready') #exit exit = QtGui.QAction('Exit', self) exit.setStatusTip('Exit application') self.connect(exit, QtCore.SIGNAL('triggered()'), self.close) #open bmp openBMP= QtGui.QAction('Open BMP', self) openBMP.setStatusTip('Open directory with BMP images') self.connect(openBMP, QtCore.SIGNAL('triggered()'), self.BMP2) #menu bar menubar = self.menuBar() file = menubar.addMenu('&File') file.addAction(exit) file.addAction(openBMP) self.chosen_prefix = None def BMP2(self): print "open directory with bmp images" dirname = QtGui.QFileDialog.getExistingDirectory(self,"Open Directory with bmp images",'./',QtGui.QFileDialog.ShowDirsOnly) print "choosen directory: ",dirname file_in_dir=os.listdir(unicode(dirname)) file_prefix = list(set([item.split('.')[0] for item in file_in_dir])) print "number loaded images from directory: ",len(file_in_dir) chosen_prefix, dialog_status = QtGui.QInputDialog.getItem(self, u'Choose prefix', u'Choose prefix', file_prefix, 0, False) if dialog_status: self.chosen_prefix = chosen_prefix print "Chosen prefix:", self.chosen_prefix app = QtGui.QApplication(sys.argv) main = MainWindow() main.show() sys.exit(app.exec_())
Tiskni Sdílej: