def __init__(self, parent=None): super(Form, self).__init__(parent) self.scale = 6 self.new_life = True self.ui = Ui_MainWindow() self.ui.setupUi(self) # The default shape is glider gun self.ui.radio_glider_gun.setChecked(True) self.scene = QGraphicsScene(self) self.scene.setSceneRect(0, 0, 600, 600) self.ui.surface.setScene(self.scene) self.ui.surface.setCacheMode(QGraphicsView.CacheBackground) self.color = QColor(0, 0, 0) self.brush = QBrush(self.color) self.pen = QPen() # Initialize the scene timer self.timer = QTimer() self.timer.timeout.connect(self.draw) # Connect button event handlers self.ui.button_start.clicked.connect(self.button_start_clicked) self.ui.button_pause.clicked.connect(self.button_pause_clicked) self.ui.button_stop.clicked.connect(self.button_stop_clicked)
def __init__(self): super(AppWindow, self).__init__() self.ui = Ui_MainWindow() self.ui.setupUi(self) self.ui.actionPreset_Inputs.triggered.connect(self.preset_inputs) self.ui.actionExit.triggered.connect(self.close) self.ui.actionGroup_members.triggered.connect(self.show_members) self.ui.actionHelp.triggered.connect(self.help) self.ui.pushButton.clicked.connect( self.on_click) # Connect "Run" button to function on_click() self.ui.pushButton_2.clicked.connect(self.close) self.show()
class PacketGUI(object): def __init__(self): pass def open(self, filename): app = QtGui.QApplication(sys.argv) self.ex = Ui_MainWindow() self.tablemodel = TickTableModel(JSONDumper(filename), parent=self.ex.tableView) self.ex.tableView.setSortingEnabled(True) self.tablemodel.jsondumper.demo.dump() self.ex.tableView.setModel(self.tablemodel) self.ex.tableView.selectionModel().currentChanged.connect( self.selection_changed) self.ex.tableView.resizeColumnsToContents() self.ex.show() sys.exit(app.exec_()) def selection_changed(self, current, previous): selected_item = self.tablemodel.items[current.row()] self.ex.treeView.setHeaderLabels([selected_item.type]) self.ex.treeView.clear() pitems = QtGui.QTreeWidgetItem(self.ex.treeView) pitems.setText(0, selected_item.type) self.get_recursive(selected_item.data, pitems) def get_recursive(self, data, parent): if isinstance(data, basestring): citems = QtGui.QTreeWidgetItem(parent) citems.setText(0, QtCore.QString(data)) elif (type(data) == list and not isinstance(data, basestring)): for item in data: self.get_recursive(item, parent) else: dictz = dict(data) for k, v in dictz.items(): citems = QtGui.QTreeWidgetItem(parent) if type(v) == dict or (type(v) == list and not isinstance(v, basestring)): citems.setText(0, QtCore.QString(k)) self.get_recursive(v, citems) else: citems.setText( 0, QtCore.QString("{key}: {value}".format(key=k, value=v)))
def __init__(self): super(MainWindow, self).__init__() self.ui = Ui_MainWindow() self.ui.setupUi(self) self.square = Square() try: self.square.download() self.download() except Exception: self.ui.errorlabel.setText("Загрузка неудалась") self.ui.resultButton.clicked.connect(self.checkSquare) self.ui.creaeteButton.clicked.connect(self.crete_matrix)
class MainWindow(QtWidgets.QMainWindow): def __init__(self): super(MainWindow, self).__init__() self.ui = Ui_MainWindow() self.ui.setupUi(self) self.square = Square() try: self.square.download() self.download() except Exception: self.ui.errorlabel.setText("Загрузка неудалась") self.ui.resultButton.clicked.connect(self.checkSquare) self.ui.creaeteButton.clicked.connect(self.crete_matrix) def download(self): self.ui.tableWidget.setRowCount(4) self.ui.tableWidget.setColumnCount(4) for i in range(0, 4): for j in range(0, 4): tableSpinBox = QtWidgets.QSpinBox() tableSpinBox.setMinimum(0) tableSpinBox.setMaximum(self.square.N ** 2) tableSpinBox.setValue(self.square.square[i][j]) self.ui.tableWidget.setCellWidget(i, j, tableSpinBox) def crete_matrix(self): N = 4 self.square = Square(N) self.ui.errorlabel.clear() self.ui.result.clear() self.download() def closeEvent(self, event): for i in range(0, self.square.N): for j in range(0, self.square.N): self.square.square[i][j] = self.ui.tableWidget.cellWidget(i, j).value() self.square.save() event.accept() def checkSquare(self): for i in range(0, self.square.N): for j in range(0, self.square.N): self.square.square[i][j] = self.ui.tableWidget.cellWidget(i, j).value() if self.square.isright(): self.ui.result.setText("Правильное поле!") else: self.ui.result.setText("Неправильное поле")
def open(self, filename): app = QtGui.QApplication(sys.argv) self.ex = Ui_MainWindow() self.tablemodel = TickTableModel(JSONDumper(filename), parent=self.ex.tableView) self.ex.tableView.setSortingEnabled(True) self.tablemodel.jsondumper.demo.dump() self.ex.tableView.setModel(self.tablemodel) self.ex.tableView.selectionModel().currentChanged.connect(self.selection_changed) self.ex.tableView.resizeColumnsToContents() self.ex.show() sys.exit(app.exec_())
class PacketGUI(object): def __init__(self): pass def open(self, filename): app = QtGui.QApplication(sys.argv) self.ex = Ui_MainWindow() self.tablemodel = TickTableModel(JSONDumper(filename), parent=self.ex.tableView) self.ex.tableView.setSortingEnabled(True) self.tablemodel.jsondumper.demo.dump() self.ex.tableView.setModel(self.tablemodel) self.ex.tableView.selectionModel().currentChanged.connect(self.selection_changed) self.ex.tableView.resizeColumnsToContents() self.ex.show() sys.exit(app.exec_()) def selection_changed(self, current, previous): selected_item = self.tablemodel.items[current.row()] self.ex.treeView.setHeaderLabels([selected_item.type]) self.ex.treeView.clear() pitems = QtGui.QTreeWidgetItem(self.ex.treeView) pitems.setText(0, selected_item.type) self.get_recursive(selected_item.data, pitems) def get_recursive(self, data, parent): if isinstance(data, basestring): citems= QtGui.QTreeWidgetItem(parent) citems.setText(0, QtCore.QString(data)) elif (type(data) == list and not isinstance(data, basestring)): for item in data: self.get_recursive(item, parent) else: dictz = dict(data) for k, v in dictz.items(): citems= QtGui.QTreeWidgetItem(parent) if type(v) == dict or (type(v) == list and not isinstance(v, basestring)): citems.setText(0, QtCore.QString(k)) self.get_recursive(v, citems) else: citems.setText(0, QtCore.QString("{key}: {value}".format(key=k, value=v)))
class AppWindow(QMainWindow): def __init__(self): super(AppWindow, self).__init__() self.ui = Ui_MainWindow() self.ui.setupUi(self) self.ui.actionPreset_Inputs.triggered.connect(self.preset_inputs) self.ui.actionExit.triggered.connect(self.close) self.ui.actionGroup_members.triggered.connect(self.show_members) self.ui.actionHelp.triggered.connect(self.help) self.ui.pushButton.clicked.connect( self.on_click) # Connect "Run" button to function on_click() self.ui.pushButton_2.clicked.connect(self.close) self.show() @pyqtSlot() # A decorator to link signals def on_click(self): initial = self.ui.lineEdit.text() bounds = self.ui.lineEdit_2.text() num_particles = self.ui.lineEdit_3.text() maxiter = self.ui.lineEdit_4.text() w = self.ui.lineEdit_5.text() c1 = self.ui.lineEdit_6.text() c2 = self.ui.lineEdit_7.text() # Convert to list of int type initial = list(map(int, initial.strip().split(','))) bounds = list(map(int, bounds.strip().split(','))) # Convert bounds to a list of list valueSize = len(initial) tempList = [] tempBound = [] for index, value in enumerate(bounds): tempList.append(value) if (index + 1) % valueSize == 0: tempBound.append(tempList) tempList = [] bounds = tempBound # Convert to int or float num_particles = int(num_particles) maxiter = int(maxiter) w = float(w) c1 = int(c1) c2 = int(c2) PSO(func1, initial, bounds, num_particles, maxiter, w, c1, c2) QMessageBox.question( self, 'Result', "Global Best Position: " + str(globalBestPos) + "\nGlobal Best Error: " + str(globalBestErr), QMessageBox.Ok, QMessageBox.Ok) @pyqtSlot() def preset_inputs(self): self.ui.lineEdit.setText("5, 5") self.ui.lineEdit_2.setText("-10, 10, -10, 10") self.ui.lineEdit_3.setText("15") self.ui.lineEdit_4.setText("30") self.ui.lineEdit_5.setText("0.5") self.ui.lineEdit_6.setText("1") self.ui.lineEdit_7.setText("2") @pyqtSlot() def show_members(self): QMessageBox.question(self, 'Members', "Made by:\nAkash Kumar (3312016009001091)", QMessageBox.Ok, QMessageBox.Ok) @pyqtSlot() def help(self): QMessageBox.question( self, 'Help', "Use comma separated values for inputs." "\nUse Preset Inputs option from the Menu to use predefined values\n", QMessageBox.Ok, QMessageBox.Ok)
class Form(QMainWindow): def __init__(self, parent=None): super(Form, self).__init__(parent) self.scale = 6 self.new_life = True self.ui = Ui_MainWindow() self.ui.setupUi(self) # The default shape is glider gun self.ui.radio_glider_gun.setChecked(True) self.scene = QGraphicsScene(self) self.scene.setSceneRect(0, 0, 600, 600) self.ui.surface.setScene(self.scene) self.ui.surface.setCacheMode(QGraphicsView.CacheBackground) self.color = QColor(0, 0, 0) self.brush = QBrush(self.color) self.pen = QPen() # Initialize the scene timer self.timer = QTimer() self.timer.timeout.connect(self.draw) # Connect button event handlers self.ui.button_start.clicked.connect(self.button_start_clicked) self.ui.button_pause.clicked.connect(self.button_pause_clicked) self.ui.button_stop.clicked.connect(self.button_stop_clicked) # The start button event handler def button_start_clicked(self): if self.new_life: self.new_life = False self.life_shape = self.select_life() self.matrix = model.first_generation(100, 100, self.life_shape) self.timer.start(10) # The pause button event handler def button_pause_clicked(self): self.timer.stop() # The stop button event handler def button_stop_clicked(self): self.timer.stop() self.scene.clear() self.new_life = True # Which game of life shape the user selected? def select_life(self): if self.ui.radio_toad.isChecked(): life = model.TOAD elif self.ui.radio_beacon.isChecked(): life = model.BEACON elif self.ui.radio_glider.isChecked(): life = model.GLIDER elif self.ui.radio_glider_gun.isChecked(): life = model.GLIDER_GUN elif self.ui.radio_life_spaceship.isChecked(): life = model.LIFE_SPACESHIP elif self.ui.radio_pentomino.isChecked(): life = model.PENTOMINO return life # Draw the game of life generation def draw(self): self.scene.clear() for (x, y), value in numpy.ndenumerate(self.matrix): if value == 1: x_sc = x * self.scale y_sc = y * self.scale rect = QRectF(x_sc, y_sc, self.scale, self.scale) self.scene.addRect(rect, self.pen, self.brush) self.matrix = model.next_generation(self.matrix)
self.finished_adq.emit() def stop(self): print("Cancel!") self.mutex_stop.lock() self.cancel = True self.mutex_stop.unlock() def __del__(self): self.headset.close() if __name__ == "__main__": app = QApplication([]) window = QMainWindow() ui = Ui_MainWindow() ui.setupUi(window) window.show() emotivObj = QtEEG(ui) adqThread = QtCore.QThread() emotivObj.moveToThread(adqThread) emotivObj.finished_adq.connect(adqThread.quit) adqThread.started.connect(emotivObj.plotEEG) ui.startEEG.clicked.connect(adqThread.start) ui.stopEEG.clicked.connect(emotivObj.stop) sys.exit(app.exec_())