Ejemplo n.º 1
0
def unpack_csb_dummy():
    res_path = Resource.icon_paths.get('DUMMY-Froebus')
    if not res_path:
        LOGGER.error('Resource paths did not contain CSB Material Dummy!')
        return False

    f = QFile(res_path)
    out_file = Path(get_settings_dir()) / CSB_DUMMY_MATERIAL

    if out_file.exists():
        KnechtSettings.dg['csb_material_dummy_path'] = out_file.as_posix()
        return True

    try:
        # Read resource data
        f.open(QIODevice.ReadOnly)
        data: QByteArray = f.readAll()
        data: bytes = data.data()

        # Write to file
        with open(out_file, 'wb') as csb_file:
            csb_file.write(data)
    except Exception as e:
        LOGGER.error(e)
        return False
    finally:
        f.close()

    LOGGER.debug('Unpacked CSB Material Dummy successfully.')
    KnechtSettings.dg['csb_material_dummy_path'] = out_file.as_posix()
    return True
    def __init__(self, *args, **kwargs):
        super(MenuWindow, self).__init__(*args, **kwargs)

        # Loading Fonts
        QFontDatabase.addApplicationFont("fonts/BebasNeue-Light.ttf")

        # Window Settings 
        self.setFixedSize(1280, 720)
        self.setWindowTitle("Systeme d'apprentissage base sur les reseaux de neurones")
        #background = QPixmap("images/menu")
        #palette = QPalette()
        #palette.setBrush(QPalette.Background, background)
        #self.setAttribute(Qt.WA_StyledBackground, True)
        #self.setPalette(palette)
        self.setAutoFillBackground(True)
        background = QLabel(self)
        movie = QMovie("images/menu")
        background.setMovie(movie)
        self.setCentralWidget(background)
        movie.start()

        # Stylesheet Settings
        styleFile = QFile( "stylesheets/menu.qss" )
        styleFile.open( QFile.ReadOnly )
        style = str( styleFile.readAll() )
        self.setStyleSheet( style )

        # Title Settings
        self.title = QLabel("Neural networks based learning system", self)
        self.title.setFont(QFont("BebasNeue", 45, QFont.Bold))
        self.title.setAlignment(Qt.AlignCenter)
        self.title.setGeometry(0, 60, 1280, 120)

        # Button Settings 
        self.buttons = []
        for x in range(5) :
           self.buttons.append(x)
           self.buttons[x] = QPushButton(self)
           self.buttons[x].setCursor(Qt.PointingHandCursor)
           self.buttons[x].setObjectName("select")
           self.buttons[x].setFont(QFont("BebasNeue", 15, QFont.Bold))
           self.buttons[x].setGeometry(400, 210 + x * 100, 550, 80)
           #self.buttons[x].clicked.connect(lambda : self.notifyMe(x))
        self.buttons[0].setText("Image preprocessing")        
        self.buttons[1].setText("Text preprocessing")        
        self.buttons[2].setText("Learning")
        self.buttons[3].setText("Testing")
        self.buttons[4].setText("Quit")

       

        



#app = QApplication(sys.argv)
#window = MenuWindow()
#window.show()
#app.exec_()
Ejemplo n.º 3
0
 def getFileBase64(self, path):
     qfile = QFile(path)
     if not qfile.open(QIODevice.ReadOnly):
         return ""
     else:
         data = qfile.readAll()
         qfile.close()
         return str(data.toBase64().data().decode('utf-8'))
Ejemplo n.º 4
0
 def load_qss(self):
     path = os.path.join(os.path.dirname(__file__), "form.qss")
     qss_file = QFile(path)
     qss_file.open(QFile.ReadOnly)
     if (qss_file.isOpen()):
         styleArray = qss_file.readAll()
         qss_file.close()
         self.setStyleSheet(str(styleArray, encoding='utf-8'))
Ejemplo n.º 5
0
def importStyle():
    file = QFile(':/qss/Resources/qss/ApplicationStyle.qss')
    file.open(QIODevice.ReadOnly)
    applicationStyle = file.readAll()
    pyBytesStr = applicationStyle.data()
    styleStr = pyBytesStr.decode('utf-8')
    file.close()

    return styleStr
Ejemplo n.º 6
0
    def setup_styles(self):
        file = QFile(":/styles/style.css")
        file.open(QFile.ReadOnly)

        byte_array = file.readAll()

        file.close()

        self.setStyleSheet(byte_array.data().decode())
Ejemplo n.º 7
0
    def async_play_sound(self):
        file = QFile(":/sounds/click.mp3")
        file.open(QFile.ReadOnly)

        byte_array = file.readAll()

        file.close()

        with tempfile.NamedTemporaryFile("wb", delete=True) as temp:
            temp.write(byte_array.data())
            playsound(temp.name)
Ejemplo n.º 8
0
    def load_style(self):
        """
        The style is a css-like file
        """

        file = QFile(":/styles/style.qss")
        file.open(QFile.ReadOnly)
        style = file.readAll()
        style = style.data().decode()
        file.close()
        self.setStyleSheet(style)
    def testImage(self):
        #Test loading of sample.png resource
        f = open(adjust_filename('sample.png', __file__), "rb")
        orig = f.read()
        f.close()

        f = QFile(':/sample.png')
        f.open(QIODevice.ReadOnly)
        copy = f.readAll()
        f.close()
        self.assertEqual(len(orig), len(copy))
        self.assertEqual(orig, copy)
Ejemplo n.º 10
0
    def testPhrase(self):
        #Test loading of quote.txt resource
        f = open(adjust_filename('quoteEnUS.txt', __file__), "r")
        orig = f.read()
        f.close()

        f = QFile(':/quote.txt')
        f.open(QIODevice.ReadOnly) #|QIODevice.Text)
        print("Error:", f.errorString())
        copy = f.readAll()
        f.close()
        self.assertEqual(orig, copy)
    def testPhrase(self):
        #Test loading of quote.txt resource
        f = open(adjust_filename('quoteEnUS.txt', __file__), "r")
        orig = f.read()
        f.close()

        f = QFile(':/quote.txt')
        f.open(QIODevice.ReadOnly)  #|QIODevice.Text)
        print("Error:", f.errorString())
        copy = f.readAll()
        f.close()
        self.assertEqual(orig, copy)
Ejemplo n.º 12
0
    def testImage(self):
        #Test loading of sample.png resource
        f = open(adjust_filename('sample.png', __file__), "rb")
        orig = f.read()
        f.close()

        f = QFile(':/sample.png')
        f.open(QIODevice.ReadOnly)
        copy = f.readAll()
        f.close()
        self.assertEqual(len(orig), len(copy))
        self.assertEqual(orig, copy)
Ejemplo n.º 13
0
    def _insert_alt1_api(self):
        qwc_file = QFile(":/qtwebchannel/qwebchannel.js", parent=self)
        if not qwc_file.open(QIODevice.ReadOnly):
            raise IOError
        src = bytes(qwc_file.readAll()).decode("utf8")
        qwc_file.close()

        src += "\n;;\n"

        alt1_file = QFile(":/runekit/browser/alt1.js", parent=self)
        if not alt1_file.open(QIODevice.ReadOnly):
            raise IOError
        src += bytes(alt1_file.readAll()).decode("utf8")
        alt1_file.close()

        script = QWebEngineScript()
        script.setName("alt1.js")
        script.setWorldId(QWebEngineScript.MainWorld)
        script.setInjectionPoint(QWebEngineScript.DocumentCreation)
        script.setSourceCode(src.replace("%%RPC_TOKEN%%", self.rpc_secret))
        script.setRunsOnSubFrames(True)

        self.scripts().insert(script)
Ejemplo n.º 14
0
    def _load_default_pr_filter(self):
        if self.PrDefaultFilter.interior:
            # Filter already loaded
            return

        f = QFile(Resource.icon_paths.get('pr_data'))
        try:
            f.open(QIODevice.ReadOnly)
            data: QByteArray = f.readAll()
            data: bytes = data.data()
            Settings.load_json_from_bytes(self.PrDefaultFilter, data)
        except Exception as e:
            LOGGER.error(e)
        finally:
            f.close()
Ejemplo n.º 15
0
def main(argv):
    app = QApplication(argv)

    file = QFile('style.txt')
    if not file.open(QIODevice.ReadOnly):
        print('Style sheet is not load')
        return -1

    w = MainWindow()
    w.show()

    stylesheet = file.readAll().data().decode()
    app.setStyleSheet(stylesheet)

    return app.exec_()
Ejemplo n.º 16
0
 def save_default_parameters(self):
     base_path = Path(__file__).parent
     settings_path = str(
         (base_path / '../resources/PRINTER_SETTINGS.json').resolve())
     settings_file = QFile(settings_path)
     file_data = {}
     if settings_file.open(QIODevice.ReadOnly | QIODevice.Text):
         file_data = QJsonDocument.fromJson(
             settings_file.readAll()).object()
         settings_file.close()
     if settings_file.open(QIODevice.ReadWrite | QIODevice.Text
                           | QIODevice.Truncate):
         file_data["printer_type"] = "DLP"
         file_data["dlp_settings"] = self.__default_parameters
         settings_file.write(QJsonDocument(file_data).toJson())
         settings_file.close()
Ejemplo n.º 17
0
 def init_model(self):
     """Init model that can be used to display all icons in a list."""
     if self.searchterms:
         return
     qfile = QFile(":/fonts/fontawesome5-searchterms.json")
     qfile.open(QIODevice.ReadOnly | QIODevice.Text)
     data = str(qfile.readAll().data(), "utf-8")
     qfile.close()
     self.searchterms = json.loads(data)
     items = []
     for codepoint, searchterms in self.searchterms.items():
         item = QStandardItem()
         display_icon = int(codepoint, 16)
         item.setData(display_icon, Qt.UserRole)
         item.setData(searchterms, Qt.UserRole + 1)
         items.append(item)
     self.model.invisibleRootItem().appendRows(items)
Ejemplo n.º 18
0
 def _load_template(self, file_key: str, display_file_path: Path):
     f = QFile(Resource.icon_paths.get(file_key))
     try:
         f.open(QIODevice.ReadOnly)
         data: QByteArray = f.readAll()
         self.ui.main_menu.file_menu.load_save_mgr.load_start_time = time.time()
         # noinspection PyTypeChecker
         xml_worker = XmlWorkThread(
             display_file_path,
             self.ui.main_menu.file_menu.load_save_mgr.xml_worker_queue,
             open_xml=False,  # We want to load from bytes
             xml_data=data.data()  # The Qt docs are wrong... returns bytes and not str
             )
         xml_worker.xml_items_loaded.connect(self.ui.main_menu.file_menu.load_save_mgr.load_thread_finished)
         xml_worker.start()
     except Exception as e:
         LOGGER.error(e)
Ejemplo n.º 19
0
 def __load_settings__(self):
     base_path = Path(__file__).parent
     settings_path = str(
         (base_path / '../resources/PRINTER_SETTINGS.json').resolve())
     settings_file = QFile(settings_path)
     if settings_file.open(QIODevice.ReadOnly | QIODevice.Text):
         file_data = QJsonDocument.fromJson(
             settings_file.readAll()).object()
         if "metal_printer_settings" in file_data:
             printer_setup = str(
                 file_data["metal_printer_settings"]["printer_setup"])
             if printer_setup == self.supported_setups[0]:
                 self.__select_setup__(0)
             else:
                 return False
             return True
         settings_file.close()
     return False
Ejemplo n.º 20
0
    def __on_triggered_openFileAction(self):
        filePath = QFileDialog.getOpenFileName(self, "open",
                                               self.__currentPath, "* txt")
        if filePath[0].strip():
            file = QFile(filePath[0])
            if file.open(QFile.ReadOnly):

                readData = str(file.readAll())
                fileData = readData[2:readData.__len__() - 1].replace(
                    r"\r\n", r" ")
                self.__srcTextEdit.insertPlainText(fileData)
            else:
                self.__statusBar.showMessage(
                    self.__GetCurrentTime() + " - open file failed!", 2000)
        else:
            self.__statusBar.showMessage(
                self.__GetCurrentTime() + " - Choose file failed!", 2000)
            return
Ejemplo n.º 21
0
 def load_file(self):
     """加载外部文件获取文章"""
     path = QFileDialog.getOpenFileName(self, "Open File", '',
                                        "Any Files (*.*)")
     if path:
         try:
             inFile = QFile(path[0])
             if inFile.open(QFile.ReadOnly | QFile.Text):
                 text = str(inFile.readAll(), encoding='utf8')
                 _, filename = os.path.split(inFile.fileName())
                 self.refresh_control_post(
                     post_id=0,
                     title=filename,
                     url="",
                     data=text,
                 )
         except Exception as ex:
             self.statusBar().showMessage("文件读取错误:%s" % str(ex))
Ejemplo n.º 22
0
 def restoreLayout(self):
     if os.path.isfile(get_config_path("layout.dat")):
         try:
             f=open(get_config_path("layout.dat"), 'rb')
             geometry, state=pickle.load(f)
             self.restoreGeometry(geometry)
             self.restoreState(state)
         except Exception as e:
             print("Exception on restoreLayout, {}".format(e))
     else:
         try:
             f=QFile(':/default_layout.dat')
             f.open(QIODevice.ReadOnly)
             geometry, state=pickle.loads(f.readAll())
             self.restoreGeometry(geometry)
             self.restoreState(state)
         except Exception as e:
             print("Exception on restoreLayout, {}".format(e))
Ejemplo n.º 23
0
class Sender():
    def __init__(self, socket, file_path, receiver):
        self._socket = socket
        self._transaction = None
        self._receiver = receiver
        self._file_path = file_path
        self._file_name = os.path.split(self._file_path)[1]
        self._file = QFile(self._file_path)
        self._socket.connected.connect(self.send_file)

    def start(self):
        self._transaction = Transaction(self._file_path, self._file.size(),
                                        self._receiver.get_name())
        self._socket.connectToHost(self._receiver.get_ip_address(),
                                   Setup().get_port())
        self._socket.waitForConnected(3000)
        print(self._socket.state())

    def send_file(self):
        self._transaction.set_status(TransactionStatus.SENDING)
        file_to_byte_array = QByteArray()
        data = QByteArray()
        stream = QDataStream(data, QIODevice.WriteOnly)

        QFile.open(self._file, QIODevice.ReadOnly)
        stream.writeUInt32(0)
        stream.writeString(self._file_name)
        print("size of name ", getsizeof(self._file_name))
        file_to_byte_array = self._file.readAll()
        data.append(file_to_byte_array)
        self._file.close()

        stream.device().seek(0)
        stream.writeUInt32(data.size() - getsizeof(self._file_name))
        print("total  ", data.size() - getsizeof(self._file_name))

        x = 0
        while (x < data.size()):
            y = self._socket.write(data)
            print("poslato  ", y)
            x += y
            print("x  ", x)
        self._transaction.set_status(TransactionStatus.FINISHED)
Ejemplo n.º 24
0
    def _load_default_filter(self):
        """ Read Package default filter from qt resources """
        f = QFile(Resource.icon_paths.get('pr_data'))

        try:
            f.open(QIODevice.ReadOnly)
            data: QByteArray = f.readAll()
            data: bytes = data.data()
            Settings.load_json_from_bytes(PrJsonData, data)
        except Exception as e:
            LOGGER.error(e)
        finally:
            f.close()

        self.data.pkg_filter = PrJsonData.package_filter[::]
        self.automagic_filter = set(PrJsonData.wizard_automagic_filter)

        # Update Start Page Package Widget
        if hasattr(self.wizard, 'page_welcome'):
            self.wizard.page_welcome.reload_pkg_filter()
Ejemplo n.º 25
0
    def openFile(self):
        dir = QDir()
        docsPath = '{}/Documents'.format(dir.homePath())
        if not dir.exists(docsPath):
            docsPath = '{}/Documentos'.format(dir.homePath())

        #Regresa una tupla (filename, filter)
        filename = QFileDialog.getOpenFileName(self, 'Abrir', docsPath,
                                               self.fileFilter)
        if not filename: return

        self.filename = filename[0]

        file = QFile(self.filename)
        if not file.open(QIODevice.ReadOnly): return

        data = file.readAll()
        file.close()

        self.textContent.clear()
        self.textContent.setText(str(data, encoding='utf-8'))
        self.setWindowTitle('{} - {}'.format(self.windowTitle(),
                                             self.filename))
Ejemplo n.º 26
0
    args = parser.parse_args(sys.argv[1:])

    if args.debug:
        print("Debug flag is set to:", args.debug)

    clock = Clock_widget(args.frameless, web=args.web, debug=args.debug)

    file = None
    if args.style is None:
        #        file = QFile(":/Clock.qss")
        file = QFile("Clock.qss")
    else:
        file = QFile(args.style)

    file.open(QFile.ReadOnly)
    style_sheet = file.readAll()
    # print(style_sheet.data().decode("utf-8"))
    app.setStyleSheet(style_sheet.data().decode("utf-8"))

    if os.uname().sysname == "Linux":
        f = open("/sys/class/backlight/rpi_backlight/brightness")
        num = int(f.readline())
        f.close()
    else:
        num = 40

    clock.LCD_brightness = num
    clock.Brightness.setSliderPosition(num)

    setting_file = os.getenv("HOME") + "/.Qt_Clock"
    loadfile = QFile(setting_file)
Ejemplo n.º 27
0
    parser.add_argument("--size",
                        "-s",
                        type=int,
                        help="Size of the image to display",
                        default=216)
    parser.add_argument("--web",
                        "-w",
                        action="store_true",
                        help="Get from web even if smaller than 500.")
    parser.add_argument("--save",
                        "-sa",
                        action="store_true",
                        help="Save to file.")

    args = parser.parse_args(sys.argv[1:])

    file = None
    if args.style is None:
        file = QFile("Clock.qss")
    else:
        file = QFile(args.style)

    file.open(QFile.ReadOnly)
    style_sheet = file.readAll()
    # print(style_sheet.data().decode("utf-8"))
    app.setStyleSheet(style_sheet.data().decode("utf-8"))

    moon = QMoon(size=args.size, debug=args.debug, save=True)
    moon.show()
    sys.exit(app.exec_())
    def __init__(self, dataset, *args, **kwargs):
        super(CreationWindow, self).__init__(*args, **kwargs)

        # Initializing dataset
        self.dataset = dataset

        # Loading Fonts
        QFontDatabase.addApplicationFont("fonts/BebasNeue-Light.ttf")

        # Accepting drag & drops
        self.setAcceptDrops(True)

        # Window Settings
        self.setFixedSize(1280, 720)
        self.setWindowTitle("Neural network creation")
        background = QPixmap("images/grid")
        palette = QPalette()
        palette.setBrush(QPalette.Background, background)
        self.setPalette(palette)
        self.setAttribute(Qt.WA_StyledBackground, True)
        self.setAutoFillBackground(True)

        # Enabling mouse tracking
        self.setMouseTracking(True)

        # Creating graphics scene
        #self.__scene = QGraphicsScene(300, 120, 980, 600, self)
        #self.__scene.addLine(400, 500, 600, 650, QPen(Qt.yellow, 10))
        #self.__liveFeedView = QGraphicsView()
        #self.__liveFeedView.setScene(self.__scene)

        # Stylesheet Settings
        styleFile = QFile("stylesheets/creation.qss")
        styleFile.open(QFile.ReadOnly)
        style = str(styleFile.readAll())
        self.setStyleSheet(style)

        # Network name line edit
        self.networkName = QLineEdit(self)
        self.networkName.setPlaceholderText("Enter neural network name")

        # Netwok name label
        self.__networkNameLabel = QLabel("Neural network name : ", self)
        self.__networkNameLabel.setFont(QFont("BebasNeue", 20, QFont.Bold))
        self.__networkNameLabel.setAlignment(Qt.AlignTop | Qt.AlignLeft)
        self.__networkNameLabel.setBuddy(self.networkName)

        # Accept/Reset buttons
        self.__topRightButtons = []
        for x in range(2):
            self.__topRightButtons.append(x)
            self.__topRightButtons[x] = QPushButton("Bouton ici", self)
            self.__topRightButtons[x].setCursor(Qt.PointingHandCursor)
            self.__topRightButtons[x].setIconSize(QSize(35, 35))
            self.__topRightButtons[x].setFont(
                QFont("BebasNeue", 10, QFont.Bold))

        # Customising accept/reset buttons
        self.__topRightButtons[0].setText("Reset")
        self.__topRightButtons[0].setIcon(QIcon("images/reset_icon"))
        self.__topRightButtons[1].setText("Confirm")
        self.__topRightButtons[1].setIcon(QIcon("images/check_icon"))

        # Connecting accept/reset buttons
        self.__topRightButtons[0].clicked.connect(self.reset)
        self.__topRightButtons[1].clicked.connect(self.confirm)

        # Go back button
        self.goBackButton = QPushButton("Back", self)
        self.goBackButton.setObjectName("retour")

        # Connecting go back button
        self.goBackButton.clicked.connect(self.reset)

        # Customising go back button
        self.goBackButton.setCursor(Qt.PointingHandCursor)
        self.goBackButton.setIcon(QIcon("images/goback_icon"))
        self.goBackButton.setIconSize(QSize(30, 30))
        self.goBackButton.setFont(QFont("BebasNeue", 20, QFont.Bold))

        # Layer selection buttons
        self.__layerButtons = []
        for x in range(5):
            self.__layerButtons.append(x)
            self.__layerButtons[x] = QPushButton(self)
            self.__layerButtons[x].setCursor(Qt.PointingHandCursor)
            self.__layerButtons[x].setFont(QFont("BebasNeue", 10, QFont.Bold))
            self.__layerButtons[x].clicked.connect(self.createLayer)

        # Layer buttons names
        self.__layerButtons[0].setText("Input layer")
        self.__layerButtons[1].setText("Output layer")
        self.__layerButtons[2].setText("Dense layer")
        self.__layerButtons[3].setText("Flatten layer")
        self.__layerButtons[4].setText("Convolutional layer")

        # Layer buttons icons
        for x in range(5):
            icon = "images/layer_icon_"
            self.__layerButtons[x].setIcon(QIcon(icon + str(x)))
            self.__layerButtons[x].setIconSize(QSize(45, 45))

        # Top buttons layout settings
        self.__buttonLayout = QHBoxLayout(self)
        self.__buttonGroupBox = QGroupBox(self)
        self.__buttonGroupBox.setGeometry(780, -15, 500, 120)
        self.__buttonLayout.addWidget(self.__topRightButtons[0])
        self.__buttonLayout.addWidget(self.__topRightButtons[1])
        self.__buttonGroupBox.setLayout(self.__buttonLayout)

        # Network name form layout settings
        self.__networkNameLayout = QFormLayout(self)
        self.__networkNameGroupBox = QGroupBox(self)
        self.__networkNameGroupBox.setGeometry(300, -15, 480, 120)
        self.__networkNameLayout.addWidget(self.__networkNameLabel)
        self.__networkNameLayout.addWidget(self.networkName)
        self.__networkNameGroupBox.setLayout(self.__networkNameLayout)

        # Layer buttons layout settings
        self.__layerButtonLayout = QVBoxLayout(self)
        self.__layerButtonGroupBox = QGroupBox("Layer selection", self)
        self.__layerButtonGroupBox.setGeometry(0, -15, 300, 735)
        for x in range(5):
            self.__layerButtonLayout.addWidget(self.__layerButtons[x])
        self.__layerButtonLayout.addWidget(self.goBackButton)
        self.__layerButtonGroupBox.setLayout(self.__layerButtonLayout)

        # Parameters window settings
        # Layer output label
        self.__layerOutputLabel = QLabel("Output number", self)
        self.__layerOutputLabel.setFont(QFont("BebasNeue", 20, QFont.Bold))
        # Layer output line edit
        self.__layerOutputLineEdit = QLineEdit(self)
        self.__layerOutputLineEdit.setValidator(QIntValidator(0, 1000, self))
        # Layer output form settings
        self.__layerOutputLayout = QFormLayout(self)
        self.__layerOutputGroupBox = QGroupBox(self)
        self.__layerOutputLayout.addWidget(self.__layerOutputLabel)
        self.__layerOutputLayout.addWidget(self.__layerOutputLineEdit)
        self.__layerOutputGroupBox.setLayout(self.__layerOutputLayout)
        # Activation function label
        self.__activationLabel = QLabel("Activation function", self)
        self.__activationLabel.setFont(QFont("BebasNeue", 20, QFont.Bold))
        # Activation function menu
        self.__activationMenu = QComboBox(self)
        self.__activationMenu.addItems(
            ['Sigmoid', 'Tanh', 'Rectified Linear Unit', 'Softmax'])
        # Activation function form settings
        self.__activationLayout = QFormLayout(self)
        self.__activationGroupBox = QGroupBox(self)
        self.__activationLayout.addWidget(self.__activationLabel)
        self.__activationLayout.addWidget(self.__activationMenu)
        self.__activationGroupBox.setLayout(self.__activationLayout)
        # Close window button
        self.__closeButton = QPushButton(self)
        self.__closeButton.setObjectName("close")
        self.__closeButton.setCursor(Qt.PointingHandCursor)
        self.__closeButton.setIcon(QIcon("images/close_icon"))
        self.__closeButton.setIconSize(QSize(35, 35))
        self.__closeButton.clicked.connect(self.closeParameters)
        # Accept changes button
        self.__acceptButton = QPushButton(self)
        self.__acceptButton.setObjectName("accept")
        self.__acceptButton.setCursor(Qt.PointingHandCursor)
        self.__acceptButton.setIcon(QIcon("images/accept_icon"))
        self.__acceptButton.setIconSize(QSize(35, 35))
        self.__acceptButton.clicked.connect(self.acceptParameters)
        # Close/Accept buttons layout
        self.__bottomButtonsLayout = QHBoxLayout(self)
        self.__bottomButtonsGroupBox = QGroupBox(self)
        self.__bottomButtonsLayout.addWidget(self.__closeButton)
        self.__bottomButtonsLayout.addWidget(self.__acceptButton)
        self.__bottomButtonsGroupBox.setLayout(self.__bottomButtonsLayout)
        # Kernel rows label
        self.__kernelRowsLabel = QLabel("Kernel rows", self)
        self.__kernelRowsLabel.setFont(QFont("BebasNeue", 20, QFont.Bold))
        # Kernel rows line edit
        self.__kernelRowsLineEdit = QLineEdit(self)
        self.__kernelRowsLineEdit.setValidator(QIntValidator(0, 1000, self))
        # Kernel rows form layout
        self.__kernelRowsLayout = QFormLayout(self)
        self.__kernelRowsLayout.addWidget(self.__kernelRowsLabel)
        self.__kernelRowsLayout.addWidget(self.__kernelRowsLineEdit)
        # Kernel rows group box
        self.__kernelRowsGroupBox = QGroupBox(self)
        self.__kernelRowsGroupBox.setLayout(self.__kernelRowsLayout)
        self.__kernelRowsGroupBox.hide()
        # Kernel columns label
        self.__kernelColumnLabel = QLabel("Kernel columns", self)
        self.__kernelColumnLabel.setFont(QFont("BebasNeue", 20, QFont.Bold))
        # Kernel columns line edit
        self.__kernelColumnLineEdit = QLineEdit(self)
        self.__kernelColumnLineEdit.setValidator(QIntValidator(0, 1000, self))
        # Kernel columns form layout
        self.__kernelColumnLayout = QFormLayout(self)
        self.__kernelColumnLayout.addWidget(self.__kernelColumnLabel)
        self.__kernelColumnLayout.addWidget(self.__kernelColumnLineEdit)
        # Kernel columns group box
        self.__kernelColumnGroupBox = QGroupBox(self)
        self.__kernelColumnGroupBox.setLayout(self.__kernelColumnLayout)
        self.__kernelColumnGroupBox.hide()
        # Layer parameters group box
        self.__layerParametersGroupBox = QGroupBox(self)
        self.__layerParametersGroupBox.setObjectName("parameters")
        self.__layerParametersGroupBox.setGeometry(960, 88, 320, 550)
        self.__layerParametersLayout = QVBoxLayout(self)
        self.__layerParametersLayout.addWidget(self.__layerOutputGroupBox)
        self.__layerParametersLayout.addWidget(self.__activationGroupBox)
        self.__layerParametersLayout.addWidget(self.__kernelRowsGroupBox)
        self.__layerParametersLayout.addWidget(self.__kernelColumnGroupBox)
        self.__layerParametersLayout.addWidget(self.__bottomButtonsGroupBox)
        self.__layerParametersGroupBox.setLayout(self.__layerParametersLayout)
        self.__layerParametersGroupBox.hide()
        self.__layerParametersGroupBox.raise_()
Ejemplo n.º 29
0
    def __init__(self, *args, **kwargs):
        super(TestingWindow, self).__init__(*args, **kwargs)

        # Loading Fonts
        QFontDatabase.addApplicationFont("fonts/BebasNeue-Light.ttf")

        # Window Settings
        self.setFixedSize(1280, 720)
        self.setWindowTitle("TestingWindow")
        background = QPixmap("images/testing")
        palette = QPalette()
        palette.setBrush(QPalette.Background, background)
        self.setAttribute(Qt.WA_StyledBackground, True)
        self.setPalette(palette)
        self.setAutoFillBackground(True)

        # Stylesheet Settings
        styleFile = QFile("stylesheets/testing.qss")
        styleFile.open(QFile.ReadOnly)
        style = str(styleFile.readAll())
        self.setStyleSheet(style)

        # Title Settings
        self.__title = QLabel("Testing", self)
        self.__title.setFont(QFont("BebasNeue", 45, QFont.Bold))
        self.__title.setAlignment(Qt.AlignCenter)
        self.__title.setGeometry(0, 30, 1280, 100)

        # Button Settings
        self.buttons = []
        for x in range(4):
            self.buttons.append(x)
            self.buttons[x] = QPushButton(self)
            self.buttons[x].setCursor(Qt.PointingHandCursor)
            self.buttons[x].setObjectName("select")
            self.buttons[x].setFont(QFont("BebasNeue", 10, QFont.Bold))
            self.buttons[x].setGeometry(80, 100 + x * 120, 80, 80)

        # Connecting buttons
        self.buttons[0].clicked.connect(self.loadNetwork)
        self.buttons[1].clicked.connect(self.loadTestFile)
        self.buttons[2].clicked.connect(self.startTest)

        # Buttons Icons
        self.buttons[0].setIcon(QIcon("images/brain_icon"))
        self.buttons[0].setIconSize(QSize(35, 35))
        self.buttons[1].setIcon(QIcon("images/upload_icon"))
        self.buttons[1].setIconSize(QSize(35, 35))
        self.buttons[2].setIcon(QIcon("images/test_icon"))
        self.buttons[2].setIconSize(QSize(35, 35))
        self.buttons[3].setIcon(QIcon("images/goback_icon"))
        self.buttons[3].setIconSize(QSize(35, 35))

        # Return Button
        self.buttons[3].setText("Back")
        self.buttons[3].setObjectName("retour")
        self.buttons[3].setGeometry(1100, 620, 120, 120)
        self.buttons[3].setIcon(QIcon("images/goback_icon"))
        self.buttons[3].setIconSize(QSize(35, 35))

        # Labels Settings
        self.__labels = []
        for x in range(3):
            self.__labels.append(x)
            self.__labels[x] = QLabel(self)
            self.__labels[x].setGeometry(200, 110 + x * 120, 300, 80)
            self.__labels[x].setFont(QFont("BebasNeue", 20, QFont.Bold))
        self.__labels[0].setText("Load a neural network")
        self.__labels[1].setText("Load the test file")
        self.__labels[2].setText("Start the test")


# Main
#app = QApplication(sys.argv)
#window = TestingWindow()
#window.show()
#app.exec_()
Ejemplo n.º 30
0
    def __init__(self, filename, image, parent=None):
        super(DigestWidget, self).__init__(parent)

        table = []

        file_info = QFileInfo(filename)
        table.append(
            [self.tr('File'),
             self.tr('File name'),
             file_info.fileName()])
        table.append([
            None,
            self.tr('Parent folder'),
            str(file_info.dir().absolutePath())
        ])
        table.append(
            [None,
             self.tr('MIME type'),
             magic.from_file(filename, mime=True)])
        table.append([
            None,
            self.tr('File size'),
            '{} bytes ({})'.format(QLocale().toString(file_info.size()),
                                   human_size(file_info.size()))
        ])
        table.append([None, self.tr('File owner'), file_info.owner()])
        table.append([
            None,
            self.tr('Permissions'),
            str(oct(os.stat(filename).st_mode)[-3:])
        ])
        table.append([
            None,
            self.tr('Creation time'),
            file_info.birthTime().toLocalTime().toString()
        ])
        table.append([
            None,
            self.tr('Last access'),
            file_info.lastRead().toLocalTime().toString()
        ])
        table.append([
            None,
            self.tr('Last modified'),
            file_info.lastModified().toLocalTime().toString()
        ])
        table.append([
            None,
            self.tr('Metadata changed'),
            file_info.metadataChangeTime().toLocalTime().toString()
        ])

        file = QFile(filename)
        if not file.open(QIODevice.ReadOnly):
            QMessageBox.warning(self, self.tr('Warning'),
                                self.tr('Unable to read file from disk!'))
            return
        data = file.readAll()
        md5 = QCryptographicHash.hash(data, QCryptographicHash.Md5).toHex()
        table.append([
            self.tr('CryptoHash'),
            self.tr('MD5'),
            str(md5, encoding='utf-8')
        ])
        sha1 = QCryptographicHash.hash(data, QCryptographicHash.Sha1).toHex()
        table.append([None, self.tr('SHA2-1'), str(sha1, encoding='utf-8')])
        sha224 = QCryptographicHash.hash(data,
                                         QCryptographicHash.Sha224).toHex()
        table.append(
            [None, self.tr('SHA2-224'),
             str(sha224, encoding='utf-8')])
        sha256 = QCryptographicHash.hash(data,
                                         QCryptographicHash.Sha256).toHex()
        table.append(
            [None, self.tr('SHA2-256'),
             str(sha256, encoding='utf-8')])
        sha384 = QCryptographicHash.hash(data,
                                         QCryptographicHash.Sha384).toHex()
        table.append(
            [None, self.tr('SHA2-384'),
             str(sha384, encoding='utf-8')])
        sha512 = QCryptographicHash.hash(data,
                                         QCryptographicHash.Sha512).toHex()
        table.append(
            [None, self.tr('SHA2-512'),
             str(sha512, encoding='utf-8')])

        sha3_224 = QCryptographicHash.hash(
            data, QCryptographicHash.Sha3_224).toHex()
        table.append(
            [None, self.tr('SHA3-224'),
             str(sha3_224, encoding='utf-8')])
        sha3_256 = QCryptographicHash.hash(
            data, QCryptographicHash.Sha3_256).toHex()
        table.append(
            [None, self.tr('SHA3-256'),
             str(sha3_256, encoding='utf-8')])
        sha3_384 = QCryptographicHash.hash(
            data, QCryptographicHash.Sha3_384).toHex()
        table.append(
            [None, self.tr('SHA3-384'),
             str(sha3_384, encoding='utf-8')])
        sha3_512 = QCryptographicHash.hash(
            data, QCryptographicHash.Sha3_512).toHex()
        table.append(
            [None, self.tr('SHA3-512'),
             str(sha3_512, encoding='utf-8')])

        table.append([
            self.tr('ImageHash'),
            self.tr('Average'),
            str(cv.img_hash.averageHash(image)[0])
        ])
        # table_widget.item(15, 0).setToolTip(self.tr('Average hash'))
        table.append([
            None,
            self.tr('Block mean'),
            str(cv.img_hash.blockMeanHash(image)[0])
        ])
        # table_widget.item(16, 0).setToolTip(self.tr('Block mean hash'))
        table.append([
            None,
            self.tr('Color moments'),
            str(cv.img_hash.colorMomentHash(image)[0])
        ])
        # table_widget.item(17, 0).setToolTip(self.tr('Color moments hash'))
        table.append([
            None,
            self.tr('Marr-Hildreth'),
            str(cv.img_hash.marrHildrethHash(image)[0])
        ])
        # table_widget.item(18, 0).setToolTip(self.tr('Marr-Hildreth hash'))
        table.append(
            [None,
             self.tr('Perceptual'),
             str(cv.img_hash.pHash(image)[0])])
        # table_widget.item(19, 0).setToolTip(self.tr('Perceptual hash'))
        table.append([
            None,
            self.tr('Radial variance'),
            str(cv.img_hash.radialVarianceHash(image)[0])
        ])
        # table_widget.item(20, 0).setToolTip(self.tr('Radial variance hash'))

        headers = [self.tr('Group'), self.tr('Property'), self.tr('Value')]
        table_widget = TableWidget(table, headers)
        main_layout = QVBoxLayout()
        main_layout.addWidget(table_widget)
        self.setLayout(main_layout)
        self.setMinimumSize(620, 520)
Ejemplo n.º 31
0
    def __init__(self, filename, image, parent=None):
        super(DigestWidget, self).__init__(parent)

        table = []

        file_info = QFileInfo(filename)
        table.append([
            self.tr("PhysicalFile"),
            self.tr("File name"),
            file_info.fileName()
        ])
        table.append([
            None,
            self.tr("Parent folder"),
            str(file_info.dir().absolutePath())
        ])
        table.append(
            [None,
             self.tr("MIME type"),
             magic.from_file(filename, mime=True)])
        table.append([
            None,
            self.tr("File size"),
            f"{QLocale().toString(file_info.size())} bytes ({human_size(file_info.size())})",
        ])
        table.append([None, self.tr("File owner"), file_info.owner()])
        table.append([
            None,
            self.tr("Permissions"),
            str(oct(os.stat(filename).st_mode)[-3:])
        ])
        table.append([
            None,
            self.tr("Creation time"),
            file_info.birthTime().toLocalTime().toString()
        ])
        table.append([
            None,
            self.tr("Last access"),
            file_info.lastRead().toLocalTime().toString()
        ])
        table.append([
            None,
            self.tr("Last modified"),
            file_info.lastModified().toLocalTime().toString()
        ])
        table.append([
            None,
            self.tr("Metadata changed"),
            file_info.metadataChangeTime().toLocalTime().toString()
        ])
        table.append([
            None,
            self.tr("Name ballistics"),
            ballistics(file_info.fileName())
        ])

        file = QFile(filename)
        if not file.open(QIODevice.ReadOnly):
            QMessageBox.warning(self, self.tr("Warning"),
                                self.tr("Unable to read file from disk!"))
            return
        data = file.readAll()
        md5 = QCryptographicHash.hash(data, QCryptographicHash.Md5).toHex()
        table.append([
            self.tr("CryptoHash"),
            self.tr("MD5"),
            str(md5, encoding="utf-8")
        ])
        sha1 = QCryptographicHash.hash(data, QCryptographicHash.Sha1).toHex()
        table.append([None, self.tr("SHA2-1"), str(sha1, encoding="utf-8")])
        sha224 = QCryptographicHash.hash(data,
                                         QCryptographicHash.Sha224).toHex()
        table.append(
            [None, self.tr("SHA2-224"),
             str(sha224, encoding="utf-8")])
        sha256 = QCryptographicHash.hash(data,
                                         QCryptographicHash.Sha256).toHex()
        table.append(
            [None, self.tr("SHA2-256"),
             str(sha256, encoding="utf-8")])
        sha384 = QCryptographicHash.hash(data,
                                         QCryptographicHash.Sha384).toHex()
        table.append(
            [None, self.tr("SHA2-384"),
             str(sha384, encoding="utf-8")])
        sha512 = QCryptographicHash.hash(data,
                                         QCryptographicHash.Sha512).toHex()
        table.append(
            [None, self.tr("SHA2-512"),
             str(sha512, encoding="utf-8")])

        sha3_224 = QCryptographicHash.hash(
            data, QCryptographicHash.Sha3_224).toHex()
        table.append(
            [None, self.tr("SHA3-224"),
             str(sha3_224, encoding="utf-8")])
        sha3_256 = QCryptographicHash.hash(
            data, QCryptographicHash.Sha3_256).toHex()
        table.append(
            [None, self.tr("SHA3-256"),
             str(sha3_256, encoding="utf-8")])
        sha3_384 = QCryptographicHash.hash(
            data, QCryptographicHash.Sha3_384).toHex()
        table.append(
            [None, self.tr("SHA3-384"),
             str(sha3_384, encoding="utf-8")])
        sha3_512 = QCryptographicHash.hash(
            data, QCryptographicHash.Sha3_512).toHex()
        table.append(
            [None, self.tr("SHA3-512"),
             str(sha3_512, encoding="utf-8")])

        table.append([
            self.tr("ImageHash"),
            self.tr("Average"),
            str(cv.img_hash.averageHash(image)[0])
        ])
        # table_widget.item(15, 0).setToolTip(self.tr('Average hash'))
        table.append([
            None,
            self.tr("Block mean"),
            str(cv.img_hash.blockMeanHash(image)[0])
        ])
        # table_widget.item(16, 0).setToolTip(self.tr('Block mean hash'))
        table.append([
            None,
            self.tr("Color moments"),
            str(cv.img_hash.colorMomentHash(image)[0])
        ])
        # table_widget.item(17, 0).setToolTip(self.tr('Color moments hash'))
        table.append([
            None,
            self.tr("Marr-Hildreth"),
            str(cv.img_hash.marrHildrethHash(image)[0])
        ])
        # table_widget.item(18, 0).setToolTip(self.tr('Marr-Hildreth hash'))
        table.append(
            [None,
             self.tr("Perceptual"),
             str(cv.img_hash.pHash(image)[0])])
        # table_widget.item(19, 0).setToolTip(self.tr('Perceptual hash'))
        table.append([
            None,
            self.tr("Radial variance"),
            str(cv.img_hash.radialVarianceHash(image)[0])
        ])
        # table_widget.item(20, 0).setToolTip(self.tr('Radial variance hash'))

        headers = [self.tr("Group"), self.tr("Property"), self.tr("Value")]
        table_widget = TableWidget(table, headers)
        main_layout = QVBoxLayout()
        main_layout.addWidget(table_widget)
        self.setLayout(main_layout)
        self.setMinimumSize(700, 520)
Ejemplo n.º 32
0
                    if parents[-1].childCount() > 0:
                        parents.append(parents[-1].child(parents[-1].childCount() - 1))
                        indentations.append(position)

                else:
                    while position < indentations[-1] and len(parents) > 0:
                        parents.pop()
                        indentations.pop()

                # Append a new item to the current parent's list of children.
                parents[-1].appendChild(TreeItem(columnData, parents[-1]))

            number += 1


if __name__ == '__main__':

    import sys

    app = QApplication(sys.argv)

    f = QFile('tree_data.txt')
    f.open(QIODevice.ReadOnly)
    model = TreeModel(f.readAll())
    f.close()

    view = QTreeView()
    view.setModel(model)
    view.setWindowTitle("Simple Tree Model")
    view.show()
    sys.exit(app.exec_())