Byla vydána nová verze 2.47.0 distribuovaného systému správy verzí Git. Přispělo 83 vývojářů, z toho 28 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.
Bylo vydáno OpenBSD 7.6. Opět bez písničky.
Programovací jazyk Python byl vydán v nové major verzi 3.13.0. Podrobný přehled novinek v changelogu.
Lze získat roota pouze se zapalovačem? Ano, lze.
Konference LinuxDays 2024 proběhne již tento víkend 12. a 13. října v Praze. Na programu je spousta zajímavých přednášek a workshopů, zástup zajímavých osobností a stánky řady projektů: Fedora, openSUSE, vpsFree.cz, Mozilla, brmlab, OpenAlt a mnoho dalších. Vstup zdarma.
Představeny byly oficiální Raspberry Pi microSD karty třídy A2 a silikonový kryt na Raspberry Pi 5.
OpenRazer byl vydán ve verzi 3.9.0. Jedná se o svobodný software, ovladač a démon, umožňující nastavovat klávesnice, notebooky, myši, podložky pod myš, keypady, sluchátka a další zařízení od společnosti Razer na GNU/Linuxu.
Byla vydána verze 3.6 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Přehled novinek v poznámkách k vydání. Využíván je Free Pascal Compiler (FPC) 3.2.2.
Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.
Byla vydána nová verze 8.8 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled oprav, vylepšení a novinek v oficiálním oznámení.
#!/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: