Ejemplo n.º 1
0
 def setReset(self, m):
     self.pushButton_2 = QPushButton("Reset it")
     font = QFont()
     font.setPointSize(17)
     font.setWeight(75)
     font.setBold(True)
     self.pushButton_2.setFont(font)
     self.pushButton_2.clicked.connect(self.setbut_reset)
     m.addWidget(self.pushButton_2)
Ejemplo n.º 2
0
    def __init__(self, view, uistack, widget):
        f = QFont('FreeMono')
        f.setWeight(QFont.Black)
        f.setPixelSize(16)

        self.grids = []
        self.colors = []

        self._view = view

        for p in providers:
            view.colors.addItem(p.name)
        view.colors.currentIndexChanged.connect(self.colorchange)

        self._detailview = view.detail
        self._detailview.scale(10, 10)

        self._lastdepth = -1
        self._detail = None
        self.add()

        view.layer.sliderMoved.connect(self.layer)
        view.detailLayer.sliderMoved.connect(self.detaillayer)

        self._view.add.pressed.connect(self.add)

        def detailevent(event):
            if (isinstance(event, QKeyEvent) and
                    event.text() == u'\t' and
                    event.type() == QEvent.ShortcutOverride):
                widget.keyPressEvent(QKeyEvent(
                    QEvent.KeyPress,
                    event.key(),
                    event.nativeModifiers(),
                    event.text(),
                    event.isAutoRepeat(),
                    event.count()))
                return True
            return QWidget.event(widget, event)

        widget.event = detailevent
        widget.keyPressEvent = self.key

        view.rotation.valueChanged.connect(self.rotate)

        view.layer.setValue(view.layer.maximum())

        self._view.showDetail.pressed.connect(self.showdetail)
        self._view.hideDetail.pressed.connect(self.hidedetail)
        self.hidedetail()

        self._view.pentagon.pressed.connect(self.pentagon)

        self._uistack = uistack
Ejemplo n.º 3
0
 def load_layout_list(self, settings):
     self.layout_list.clear()
     for menu_item in settings:
         font = QFont()
         if menu_item == 'pin_notes' or menu_item == 'notes':
             font.setStyle(QFont.StyleItalic)
         else:
             font.setWeight(QFont.DemiBold)
         item = QListWidgetItem(self.layout_labels[menu_item])
         item.setData(Qt.UserRole, menu_item)
         item.setTextAlignment(Qt.AlignCenter)
         item.setFont(font)
         self.layout_list.addItem(item)
Ejemplo n.º 4
0
 def load_layout_list(self, settings):
     self.layout_list.clear()
     for menu_item in settings:
         font = QFont()
         if menu_item == 'pin_notes' or menu_item == 'notes':
             font.setStyle(QFont.StyleItalic)
         else:
             font.setWeight(QFont.DemiBold)
         item = QListWidgetItem(self.layout_labels[menu_item])
         item.setData(Qt.UserRole, menu_item)
         item.setTextAlignment(Qt.AlignCenter)
         item.setFont(font)
         self.layout_list.addItem(item)
Ejemplo n.º 5
0
 def setMW(self, ml):
     ll = QVBoxLayout()
     self.mIcon = QLabel()
     self.mIcon.setAlignment(Qt.AlignCenter)
     mmicon = self.logo.pixmap(250, 230, QIcon.Active, QIcon.On)
     self.mIcon.setPixmap(mmicon)
     self.mInst = QLabel(
      #   u"<center>(Drag and drop files or folders to encrypt them)<br>" +
         u"<center>(마우스로 끌어다 놓으십시오)<br>" +
         u"<u>최대 2GB 파일 또는 디렉토리만 가능</u></center>")
     font = QFont()
     font.setPointSize(13)
     font.setBold(True)
     font.setWeight(75)
     self.fInst = QLabel('<center></center>')
     self.mInst.setFont(font)
     ll.addWidget(self.mIcon)
     ll.addWidget(self.mInst)
     ll.addWidget(self.fInst)
     ml.addLayout(ll)
Ejemplo n.º 6
0
 def setMW(self, ml):
     ll = QVBoxLayout()
     self.mIcon = QLabel()
     self.mIcon.setAlignment(Qt.AlignCenter)
     mmicon = self.logo.pixmap(250, 230, QIcon.Active, QIcon.On)
     self.mIcon.setPixmap(mmicon)
     self.mInst = QLabel(
         "<center>(Drag and drop files or folders to encrypt them)<br>" +
         "(Drap and drop .sld file to decrypt it)<br>" +
         "<u>2GB max single file size to encrypt</u></center>")
     font = QFont()
     font.setPointSize(13)
     font.setBold(True)
     font.setWeight(75)
     self.fInst = QLabel('<center>| Double-Click for about |</center>')
     self.mInst.setFont(font)
     ll.addWidget(self.mIcon)
     ll.addWidget(self.mInst)
     ll.addWidget(self.fInst)
     ml.addLayout(ll)
Ejemplo n.º 7
0
 def PlainText(painter,widget):
     painter.setPen(widget.textColor())
     
     font = QFont()
     font.setPixelSize(widget.fontSize())
     
     font.setOverline(widget.overline())
     font.setUnderline(widget.underlined())
     font.setItalic(widget.italic())
     font.setStrikeOut(widget.strikeOut())
     
     font.setWeight(widget.fontWeight())
     font.setFamily(widget.fontFamily())
     font.setCapitalization( QFont.Capitalization(widget.textTransform()) )
     
     font.setStretch(widget.fontStretch())
     font.setLetterSpacing(QFont.SpacingType(widget.letterSpacingType()), widget.letterSpacing())
     font.setWordSpacing(widget.wordSpacing())
     
     painter.setFont(font)
     
     painter.drawText(0,0,100,100,widget.textAlignment(),widget.text())
Ejemplo n.º 8
0
 def initUI(self):
     """Met en place les éléments de l'interface."""
     # -+++++++------------------- main window -------------------+++++++- #
     self.setWindowTitle(u"Encodage / Décodage de Huffman")
     self.centerAndResize()
     centralwidget = QWidget(self)
     mainGrid = QGridLayout(centralwidget)
     mainGrid.setColumnMinimumWidth(0, 450)
     # -+++++++------------------ groupe analyse -----------------+++++++- #
     analysGroup = QGroupBox(u"Analyse", centralwidget)
     self.analysGrid = QGridLayout(analysGroup)
     #         ----------- groupe de la table des codes ----------         #
     codeTableGroup = QGroupBox(u"Table des codes", analysGroup)
     codeTableGrid = QGridLayout(codeTableGroup)
     # un tableau pour les codes
     self.codesTableModel = MyTableModel()
     self.codesTable = QTableView(codeTableGroup)
     self.codesTable.setModel(self.codesTableModel)
     self.codesTable.setFont(QFont("Mono", 8))
     self.codesTable.resizeColumnsToContents()
     self.codesTable.setSortingEnabled(True)
     codeTableGrid.addWidget(self.codesTable, 0, 0, 1, 1)
     self.analysGrid.addWidget(codeTableGroup, 1, 0, 1, 1)
     #        ----------- label du ratio de compression ----------         #
     self.ratioLab = QLabel(u"Ratio de compression: ", analysGroup)
     font = QFont()
     font.setBold(True)
     font.setWeight(75)
     font.setKerning(True)
     self.ratioLab.setFont(font)
     self.analysGrid.addWidget(self.ratioLab, 2, 0, 1, 1)
     # -+++++++-------- groupe de la table de comparaison --------+++++++- #
     self.compGroup = QGroupBox(analysGroup)
     self.compGroup.setTitle(u"Comparaisons")
     compGrid = QGridLayout(self.compGroup)
     # un tableau pour le ratio
     self.compTable = QTableWidget(self.compGroup)
     sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
     sizePolicy.setHorizontalStretch(0)
     sizePolicy.setVerticalStretch(0)
     sizePolicy.setHeightForWidth(
         self.compTable.sizePolicy().hasHeightForWidth())
     self.compTable.setSizePolicy(sizePolicy)
     self.compTable.setBaseSize(QSize(0, 0))
     font = QFont()
     font.setWeight(50)
     self.compTable.setFont(font)
     self.compTable.setEditTriggers(QAbstractItemView.NoEditTriggers)
     self.compTable.setShowGrid(True)
     self.compTable.setGridStyle(Qt.SolidLine)
     # lignes / colonnes
     self.compTable.setColumnCount(2)
     self.compTable.setRowCount(3)
     self.compTable.setVerticalHeaderItem(0, QTableWidgetItem("Taille (bits)"))
     self.compTable.setVerticalHeaderItem(1, QTableWidgetItem("Entropie"))
     self.compTable.setVerticalHeaderItem(2, QTableWidgetItem("Taille moy. (bits)"))
     for i in range(2):
         self.compTable.verticalHeaderItem(i).setTextAlignment(
             Qt.AlignRight)
     self.compTable.setHorizontalHeaderItem(0, QTableWidgetItem("ASCII"))
     self.compTable.setHorizontalHeaderItem(1, QTableWidgetItem("Huffman"))
     
     # nom des items
     self.compTabASCIIMem = QTableWidgetItem()
     self.compTable.setItem(0, 0, self.compTabASCIIMem)
     self.compTabASCIIEnt = QTableWidgetItem()
     self.compTable.setItem(1, 0, self.compTabASCIIEnt)
     self.compTabASCIIAvg = QTableWidgetItem()
     self.compTable.setItem(2, 0, self.compTabASCIIAvg)
     self.compTabHuffMem = QTableWidgetItem()
     self.compTable.setItem(0, 1, self.compTabHuffMem)
     self.compTabHuffEnt = QTableWidgetItem()
     self.compTable.setItem(1, 1, self.compTabHuffEnt)
     self.compTabHuffAvg = QTableWidgetItem()
     self.compTable.setItem(2, 1, self.compTabHuffAvg)
     # parem du tableau
     self.compTable.horizontalHeader().setCascadingSectionResizes(False)
     self.compTable.verticalHeader().setVisible(True)
     font = QFont("Mono", 8)
     self.compTable.setFont(font)
     compGrid.addWidget(self.compTable, 1, 0, 1, 1)
     self.analysGrid.addWidget(self.compGroup, 0, 0, 1, 1)
     mainGrid.addWidget(analysGroup, 0, 1, 1, 1)
     # -+++++++----------------- groupe du texte -----------------+++++++- #
     groupBox = QGroupBox(u"Texte", centralwidget)
     textGrid = QGridLayout(groupBox)
     # -+++++++------------- groupe du texte original ------------+++++++- #
     orgTextGroup = QGroupBox(u"Texte original (Ctrl+T)", groupBox)
     orgTextGrid = QGridLayout(orgTextGroup)
     self.orgText = QTextEdit(orgTextGroup)
     self.orgText.setPalette(self.defaultPalette)
     orgTextGrid.addWidget(self.orgText, 0, 0, 1, 1)
     textGrid.addWidget(orgTextGroup, 0, 0, 1, 2)
     # -+++++++------------ groupe du texte compressé ------------+++++++- #
     compressedTextGroup = QGroupBox(u"Texte compressé (Ctrl+H)", groupBox)
     compressedTextGrid = QGridLayout(compressedTextGroup)
     self.compressedText = QTextEdit(compressedTextGroup)
     self.compressedText.setPalette(self.defaultPalette)
     compressedTextGrid.addWidget(self.compressedText, 0, 0, 1, 1)
     textGrid.addWidget(compressedTextGroup, 1, 0, 1, 2)
     # -+++++++------------ groupe pour le texte ascii -----------+++++++- #
     asciiTextGroup = QGroupBox(u"Texte ASCII", groupBox)
     asciiTextGrid = QGridLayout(asciiTextGroup)
     self.asciiText = QTextBrowser(asciiTextGroup)
     self.asciiText.setPalette(self.defaultPalette)
     asciiTextGrid.addWidget(self.asciiText, 0, 0, 1, 1)
     textGrid.addWidget(asciiTextGroup, 2, 0, 1, 2)
     # -+++++++-------------------- label de log -----------------+++++++- #
     self.logLab = QLabel(analysGroup)
     textGrid.addWidget(self.logLab, 3, 0, 1, 2)
     # -+++++++----------- bouton pour encoder le texte ----------+++++++- #
     self.encodeBut = QPushButton(groupBox)
     self.encodeBut.setStatusTip(
         u"Cliquez sur ce bouton pour encoder le texte original.")
     self.encodeBut.setText(u"ENCODER")
     self.encodeBut.clicked.connect(self.encode_text)
     textGrid.addWidget(self.encodeBut, 4, 0, 1, 1)
     # -+++++++----------- bouton pour décoder le texte ----------+++++++- #
     self.decodeBut = QPushButton(groupBox)
     self.decodeBut.setStatusTip(
         u"Cliquez sur ce bouton pour décoder le texte compressé.")
     self.decodeBut.setText(u"DÉCODER")
     self.decodeBut.clicked.connect(self.decode_text)
     textGrid.addWidget(self.decodeBut, 4, 1, 1, 1)
     mainGrid.addWidget(groupBox, 0, 0, 1, 1)
     self.setCentralWidget(centralwidget)
     # -+++++++--------------- une barre de statut ---------------+++++++- #
     self.setStatusBar(QStatusBar(self))
     # -+++++++--------------------- le menu ---------------------+++++++- #
     self.fileMenu = QMenu(u"Fichier")
     self.fileMenu.addAction(u"Importer un texte...", self.open_text)
     self.fileMenu.addAction(
         u"Importer un texte encodé...", lambda: self.open_text(True))
     self.fileMenu.addAction(u"Importer un dictionnaire...", self.open_dict)
     self.fileMenu.addAction(u"Enregistrer le dictionnaire...", self.save_dict)
     self.fileMenu.addAction(u"Quitter", self.close)
     self.menuBar().addMenu(self.fileMenu)
     QMetaObject.connectSlotsByName(self)