コード例 #1
0
    def data(self, role=Qt.DisplayRole, *args, **kwargs):
        if role == Qt.DisplayRole:
            value = self.collapsed_format(self.value)
            if isinstance(value, str) and value.isnumeric():
                value = int(value)
            if self.field == 'file':
                value = os.path.basename(value)
            return value

        elif role == Qt.DecorationRole:
            if self.field == 'file':
                icon_type = QFileIconProvider.File
                return QFileIconProvider().icon(icon_type)

        elif role == Qt.ToolTipRole:
            if len(self.value) > 1:
                return json.dumps(self.value)

        elif role == Qt.EditRole:
            return json.dumps(self.value)

        elif role == Qt.FontRole:
            fontdb = QFontDatabase()
            if self.field == 'key':
                return fontdb.systemFont(QFontDatabase.FixedFont)
            else:
                return fontdb.systemFont(QFontDatabase.GeneralFont)

        elif role == Qt.UserRole:
            return self.value
コード例 #2
0
    def set_font(self, font: QFont = None):
        qfd = QFontDatabase()

        if font:
            info = QFontInfo(font)
            if info.styleHint() != QFont.Monospace:
                self.logger.warning("font: Please use monospaced font! "
                                    f"Unsupported font {info.family}.")
                font = qfd.systemFont(QFontDatabase.FixedFont)
        elif "Menlo" in qfd.families():
            font = QFont("Menlo")
            info = QFontInfo(font)
        else:
            font = qfd.systemFont(QFontDatabase.FixedFont)
            info = QFontInfo(font)

        font.setPointSize(12)
        self.font = font
        metrics = QFontMetrics(font)
        self.char_width = metrics.horizontalAdvance("A")
        self.char_height = metrics.height()
        self.line_height = int(self.char_height * 1.2)

        self.logger.info(f"font: Font {info.family()} selected, character "
                         f"size {self.char_width}x{self.char_height}.")

        self.row_len = int(self._width / self.char_width)
        self.col_len = int(self._height / self.line_height)
コード例 #3
0
ファイル: qt.py プロジェクト: asfin/electrum
    def create_encrypt_tab(self):
        w = QWidget()

        layout = QGridLayout(w)

        message_e = QTextEdit()
        layout.addWidget(QLabel(_('Message')), 1, 0)
        layout.addWidget(message_e, 1, 1)
        layout.setRowStretch(2, 2)

        recipient_e = QTextEdit()
        recipient_e.setPlaceholderText('''-----BEGIN PGP PUBLIC KEY BLOCK-----''')
        recipient_e.setFont(QFontDatabase.systemFont(QFontDatabase.FixedFont))
        layout.addWidget(QLabel(_('Recipient key')), 2, 0)
        layout.addWidget(recipient_e, 2, 1)

        encrypted_e = QTextEdit()
        encrypted_e.setFont(QFontDatabase.systemFont(QFontDatabase.FixedFont))
        layout.addWidget(QLabel(_('Encrypted')), 3, 0)
        layout.addWidget(encrypted_e, 3, 1)
        layout.setRowStretch(3, 1)

        hbox = QHBoxLayout()
        b = QPushButton(_('Encrypt'))
        b.clicked.connect(lambda: self.do_encrypt(message_e, recipient_e, encrypted_e))
        hbox.addWidget(b)

        b = QPushButton(_('Decrypt'))
        b.clicked.connect(lambda: self.do_decrypt(encrypted_e, message_e))
        hbox.addWidget(b)

        layout.addLayout(hbox, 4, 1)
        return w
コード例 #4
0
    def load(self):
        """
        Load window.
        """
        self.ui = self.loader.request_ui("ui/debug_dialogs/logs", self)

        self.logger = self.loader.request_library("common_libs", "logger")

        # Set monospace font.
        font = QFontDatabase.systemFont(QFontDatabase.FixedFont)
        self.ui.main_log.setFont(font)

        # UI work.
        # Load configuration for filters.
        self.__load_configuration()
        # Connect UI elements to methods.
        self.__connect_signals()
        # Execute default actions for dialog opening.
        self.on_dialog_open()
        self.ui.show()

        # Load current set of log lines.
        self.load_logs()
        # Register callback.
        self.logger.register_callback("logsdialog", self.append_line)
コード例 #5
0
    def __init__(self, job_name, info):
        super().__init__()
        self.job = job_name
        self.info = info

        self.lbl_heading = QLabel('Infos on {}'.format(self.job), self)
        self.lbl_heading.setFont(QFont(self.font().family(), 18))
        self.txt_info = QTextEdit(self)
        self.txt_info.setText(info)
        self.txt_info.setFont(QFontDatabase.systemFont(
            QFontDatabase.FixedFont))
        self.txt_info.setReadOnly(True)
        self.btn_ok = QPushButton('OK', self)
        self.btn_ok.clicked.connect(self.close)
        self.vbox = QVBoxLayout()
        self.vbox.addWidget(self.lbl_heading)
        self.vbox.addWidget(self.txt_info)
        self.vbox.addWidget(self.btn_ok)
        self.setLayout(self.vbox)
        self.setGeometry(0, 0, 900, 700)
        qtRectangle = self.frameGeometry()
        centerPoint = QDesktopWidget().availableGeometry().center()
        qtRectangle.moveCenter(centerPoint)
        self.move(qtRectangle.topLeft())
        self.show()
コード例 #6
0
    def __init__(self):
        super(__class__, self).__init__()

        self.graph_canvas = GraphCanvas()
        self.domain_canvas = DomainCanvas()
        self.marker_plotter = None

        self.worker_thread = QThread()
        self.worker = QtApi()

        self.digest.connect(self.worker.on_digest)
        self.decompose.connect(self.worker.on_decompose)
        self.worker.handle_status_message.connect(self.status_message_handler)
        self.worker.handle_graph_axes.connect(self.graph_axes_handler)
        self.worker.handle_domain_axes.connect(self.domain_axes_handler)
        self.worker.handle_generators.connect(self.generators_handler)
        self.worker.handle_decomposition.connect(self.decomposition_handler)
        self.worker.handle_markers_state_plotted.connect(self.on_markers_state_plotted)
        self.worker.handle_markers.connect(self.on_markers)

        self.worker.moveToThread(self.worker_thread)
        self.worker_thread.start()

        self.central_widget = QWidget(self)
        self.status_bar = QStatusBar()

        self.subgroup_combo_box = None
        self.number_line_edit = None
        self.generators_text_edit = None
        self.matrix_line_edit = None
        self.decomposition_text_edit = None

        self.MONOSPACE_FONT = QFontDatabase.systemFont(QFontDatabase.FixedFont)

        self.init_ui()
コード例 #7
0
ファイル: main.py プロジェクト: RodrickBlair/personal-website
    def __init__(self):
        super(MainWindow, self).__init__()

        uiPath = resourceFileName('crispy:' +
                                  os.path.join('gui', 'uis', 'main.ui'))
        loadUi(uiPath, baseinstance=self, package='crispy.gui')

        # Default elements of the main window.
        self.setWindowTitle('Crispy - untitled.lua')
        self.statusbar.showMessage('Ready')

        # Splitter.
        upperPanelHeight = 500
        lowerPanelHeight = 600 - upperPanelHeight
        self.splitter.setSizes((upperPanelHeight, lowerPanelHeight))

        # Logger widget.
        font = QFontDatabase.systemFont(QFontDatabase.FixedFont)
        font.setPointSize(font.pointSize() + 1)
        self.loggerWidget.setFont(font)
        self.loggerWidget.setLineWrapMode(QPlainTextEdit.NoWrap)

        # About dialog.
        self.aboutDialog = AboutDialog(self)
        self.openAboutDialogAction.triggered.connect(self.openAboutDialog)

        # Quanty module.
        self.quantyModuleInit()
コード例 #8
0
    def __init__(self, asset_path: Union[Path, str]) -> None:
        super().__init__(asset_path)

        self.gui_font_db = QFontDatabase()
        self.load_new_fonts()
        self.gui_font = qApp.font()
        self.gui_font_fixed = QFontDatabase.systemFont(QFontDatabase.FixedFont)
コード例 #9
0
ファイル: main.py プロジェクト: hvrauhal/vakiomax-pyqt5
    def _game_layout(self):
        game_layout_container = QWidget()
        game_layout_container.setDisabled(True)
        game_layout = QVBoxLayout(game_layout_container)

        game_combo_box = QComboBox()

        game_label = QLabel("&Peli:")
        game_label.setBuddy(game_combo_box)
        game_selection_layout = QHBoxLayout()
        game_selection_layout.addWidget(game_label)
        game_selection_layout.addWidget(game_combo_box)

        game_send_layout_container = QWidget()
        game_send_layout = QVBoxLayout(game_send_layout_container)
        text_edit = QTextEdit()
        font: QFont = QFontDatabase.systemFont(QFontDatabase.FixedFont)
        font.setPointSize(12)
        text_edit.setFont(font)
        text_edit.setLineWrapMode(QTextEdit.NoWrap)
        text_edit.setAcceptRichText(False)
        self.text_edit = text_edit
        game_send_layout.addWidget(text_edit)
        self.game_send_layout_container = game_send_layout_container

        send_btn = QPushButton("Osta rivit")
        send_btn.setDefault(True)
        self.send_btn = send_btn
        game_send_layout.addWidget(send_btn)
        game_layout.addLayout(game_selection_layout)
        game_layout.addWidget(game_send_layout_container)

        self.game_combo_box = game_combo_box
        self.game_layout_container = game_layout_container
        return game_layout_container
コード例 #10
0
ファイル: magicbox.py プロジェクト: BruceZhang1993/FeelUOwn
    def __init__(self, app, parent=None):
        super().__init__(parent)

        self._app = app
        # self.setPlaceholderText('搜索歌曲、歌手、专辑、用户;执行 Python 代码等')
        self.setPlaceholderText('Search library, exec code, or run command.')
        self.setToolTip('直接输入文字可以进行过滤,按 Enter 可以搜索\n'
                        '输入 >>> 前缀之后,可以执行 Python 代码\n'
                        '输入 $ 前缀可以执行 fuo 命令(未实现,欢迎 PR)')
        self.setFont(QFontDatabase.systemFont(QFontDatabase.FixedFont))

        # 模拟 QLineEdit
        self.setTabChangesFocus(True)
        self.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
        self.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
        self.setWordWrapMode(QTextOption.NoWrap)
        self.setFixedHeight(self.sizeHint().height())
        self.setMinimumHeight(25)

        self._timer = QTimer(self)
        self._cmd_text = None
        self._mode = 'cmd'  # 详见 _set_mode 函数
        self._timer.timeout.connect(self.__on_timeout)

        self.textChanged.connect(self.__on_text_edited)
        self._highlighter = Highlighter(self.document())
        # self.textEdited.connect(self.__on_text_edited)
        self.returnPressed.connect(self.__on_return_pressed)
コード例 #11
0
    def drawWindow(self):
        if self.layout() is not None:
            tempWidget = QWidget()
            tempWidget.setLayout(self.layout())

        gridLayout = QGridLayout()

        # add header
        gridLayout.addWidget(QLabel('Libraries'), 0, 0)
        gridLayout.addWidget(QLabel(''), 0, 1)

        # add new library edit box
        self.libraryNameEdit = QLineEdit()
        fixedWidthFont = QFontDatabase.systemFont(QFontDatabase.FixedFont)
        self.libraryNameEdit.setFont(fixedWidthFont)
        gridLayout.addWidget(self.libraryNameEdit, 1, 0)
        self.addButton = QPushButton('Add')
        self.addButton.clicked.connect(self.addClicked)
        gridLayout.addWidget(self.addButton, 1, 1)

        self.buttons = {}

        row = 2
        for lib in self.libraries:
            gridLayout.addWidget(QLabel(lib), row, 0)
            deleteButton = QPushButton()
            deleteButton.setObjectName(lib)
            deleteButton.setText('Delete')
            deleteButton.clicked.connect(self.deleteButtonClicked)
            gridLayout.addWidget(deleteButton, row, 1)
            row += 1
            self.buttons[deleteButton] = lib

        self.resize(300, 100)
        self.setLayout(gridLayout)
コード例 #12
0
    def __init__(self, parent=None):
        super(ScriptWindow, self).__init__(parent)

        self.setGeometry(100, 100, 800, 600)
        self.parent = parent
        font = QFontDatabase.systemFont(QFontDatabase.FixedFont)
        font.setFixedPitch(True)
        font.setPointSize(10)

        self.editor = QPlainTextEdit()
        self.editor.setFont(font)
        self.editor.setTabStopWidth(self.editor.fontMetrics().width(" ") * 4)
        self.highlight = PythonHighlighter(self.editor.document())
        self.editor.setPlainText("# self.parent is the main GUI handle")
        self.runScriptButton = QPushButton("Run script")

        self.layout = QVBoxLayout()
        self.layout.addWidget(self.editor)
        self.layout.addWidget(self.runScriptButton)

        self.setLayout(self.layout)
        self.setWindowTitle("Script editor")

        self.setup_button_behavior()

        self.show()
コード例 #13
0
    def __init__(self, app, parent=None):
        super().__init__(parent)

        self._app = app
        self.setPlaceholderText('搜索歌曲、歌手、专辑、用户')
        self.setToolTip('直接输入文字可以进行过滤,按 Enter 可以搜索\n'
                        '输入 >>> 前缀之后,可以执行 Python 代码\n'
                        '输入 # 前缀之后,可以过滤表格内容\n'
                        '输入 > 前缀可以执行 fuo 命令(未实现,欢迎 PR)')
        self.setFont(QFontDatabase.systemFont(QFontDatabase.FixedFont))
        self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
        self.setFixedHeight(32)
        self.setFrame(False)
        self.setAttribute(Qt.WA_MacShowFocusRect, 0)
        self.setTextMargins(5, 0, 0, 0)

        self._timer = QTimer(self)
        self._cmd_text = None
        self._mode = 'cmd'  # 详见 _set_mode 函数
        self._timer.timeout.connect(self.__on_timeout)

        self.textChanged.connect(self.__on_text_edited)
        # self.textEdited.connect(self.__on_text_edited)
        self.returnPressed.connect(self.__on_return_pressed)

        self._app.hotkey_mgr.register(
            [QKeySequence('Ctrl+F'),
             QKeySequence(':'),
             QKeySequence('Alt+x')], self.setFocus)
コード例 #14
0
    def __init__(self, connection, terminal):
        super(TerminalDialog, self).__init__(None, Qt.WindowCloseButtonHint)
        self.setupUi(self)

        self.connection = connection
        self.terminal = terminal
        self.terminal_listener = Listener(self.emit_update_content)
        self._update_content_signal.connect(self.update_content)
        self.terminal.add_event.connect(self.terminal_listener)

        self.outputTextEdit.verticalScrollBar().sliderPressed.connect(lambda: self.autoscrollCheckBox.setChecked(False))
        self.outputTextEdit.verticalScrollBar().installEventFilter(self)
        self.inputTextBox.installEventFilter(self)
        self.clearButton.clicked.connect(self.clear_content)
        self.sendButton.clicked.connect(self.send_input)

        self.ctrlaButton.clicked.connect(lambda: self.send_control("a"))
        self.ctrlbButton.clicked.connect(lambda: self.send_control("b"))
        self.ctrlcButton.clicked.connect(lambda: self.send_control("c"))
        self.ctrldButton.clicked.connect(lambda: self.send_control("d"))
        self.ctrleButton.clicked.connect(lambda: self.send_control("e"))

        fixed_font = QFontDatabase.systemFont(QFontDatabase.FixedFont)
        self.outputTextEdit.setFont(fixed_font)
        self.inputTextBox.setFont(fixed_font)
        self.autoscrollCheckBox.setChecked(True)

        self.terminal.read()
        self.outputTextEdit.setText(self.terminal.history)
        self._input_history_index = 0
コード例 #15
0
ファイル: qt.py プロジェクト: asfin/electrum
    def create_signature_tab(self):
        w = QWidget()

        layout = QGridLayout(w)

        message_e = QTextEdit()
        layout.addWidget(QLabel(_('Message')), 1, 0)
        layout.addWidget(message_e, 1, 1)
        layout.setRowStretch(2, 2)

        encrypted_e = QTextEdit()
        encrypted_e.setFont(QFontDatabase.systemFont(QFontDatabase.FixedFont))
        layout.addWidget(QLabel(_('Signed')), 2, 0)
        layout.addWidget(encrypted_e, 2, 1)
        layout.setRowStretch(2, 2)

        hbox = QHBoxLayout()
        b = QPushButton(_('Sign'))
        b.clicked.connect(lambda: self.do_sign(message_e, encrypted_e))
        hbox.addWidget(b)

        b = QPushButton(_('Verify'))
        b.clicked.connect(lambda: self.do_verify(encrypted_e, message_e))
        hbox.addWidget(b)

        layout.addLayout(hbox, 3, 1)
        return w
コード例 #16
0
    def __init__(self, parent: QWidget = None):
        super().__init__(parent)
        self.setupUi(self)

        self.m_content = Document()
        self.m_filePath = ""

        self.editor.setFont(QFontDatabase.systemFont(QFontDatabase.FixedFont))
        self.preview.setContextMenuPolicy(Qt.NoContextMenu)

        page = PreviewPage(self)
        self.preview.setPage(page)

        self.editor.textChanged.connect(
            lambda: self.m_content.setText(self.editor.toPlainText()))

        channel = QWebChannel(self)
        channel.registerObject("content", self.m_content)
        page.setWebChannel(channel)

        self.preview.setUrl(QUrl("qrc:/index.html"))

        self.actionNew.triggered.connect(self.onFileNew)
        self.actionOpen.triggered.connect(self.onFileOpen)
        self.actionSave.triggered.connect(self.onFileSave)
        self.actionSaveAs.triggered.connect(self.onFileSaveAs)
        self.actionExit.triggered.connect(self.onExit)

        self.editor.document().modificationChanged.connect(
            self.actionSave.setEnabled)

        defaultTextFile = QFile(":/default.md")
        defaultTextFile.open(QIODevice.ReadOnly)
        self.editor.setPlainText(defaultTextFile.readAll().data().decode())
コード例 #17
0
ファイル: UnlabeledRangeItem.py プロジェクト: jopohl/urh
    def __init__(self, parent):
        super().__init__(parent)

        font = QFontDatabase.systemFont(QFontDatabase.FixedFont)
        font.setPointSize(8)
        self.setFont(font)
        self.setPlainText("...")
コード例 #18
0
    def __init__(self, code):
        super(QDialog, self).__init__()

        self.codeEdit = QsciScintilla()
        self.codeEdit.setText(code)
        fixedWidthFont = QFontDatabase.systemFont(QFontDatabase.FixedFont)
        self.codeEdit.setFont(fixedWidthFont)
        fontmetrics = QFontMetrics(fixedWidthFont)
        self.codeEdit.setMarginWidth(0, fontmetrics.width("000"))
        self.codeEdit.setMarginLineNumbers(0, True)
        self.codeEdit.setMarginsBackgroundColor(QColor("#cccccc"))

        self.codeEdit.setBraceMatching(QsciScintilla.SloppyBraceMatch)
        self.codeEdit.setCaretLineVisible(True)
        self.codeEdit.setCaretLineBackgroundColor(QColor("#ffe4e4"))
        lexer = QsciLexerPython()
        lexer.setDefaultFont(fixedWidthFont)
        self.codeEdit.setLexer(lexer)
        self.codeEdit.SendScintilla(QsciScintilla.SCI_SETHSCROLLBAR, 0)
        self.codeEdit.setUtf8(True)

        self.codeEdit.setTabWidth(4)
        self.codeEdit.setIndentationsUseTabs(True)
        self.codeEdit.setIndentationGuides(True)
        self.codeEdit.setTabIndents(True)
        self.codeEdit.setAutoIndent(True)

        verticalLayout = QVBoxLayout()
        verticalLayout.addWidget(self.codeEdit)
        self.setLayout(verticalLayout)

        self.codeEdit.textChanged.connect(self.changeCode)
コード例 #19
0
    def __init__(self, timestamp, topic, payload, *args, **kwargs):
        super(PayloadViewDialog, self).__init__(*args, **kwargs)
        self.setMinimumWidth(500)
        self.setWindowTitle("View payload")

        fl = QFormLayout()

        lb_timestamp = QLabel(timestamp)

        le_topic = QLineEdit()
        le_topic.setReadOnly(True)
        le_topic.setText(topic)

        fnt_mono = QFontDatabase.systemFont(QFontDatabase.FixedFont)

        pte_payload = QPlainTextEdit()
        pte_payload.setFont(fnt_mono)
        pte_payload.setMinimumHeight(400)
        pte_payload.setReadOnly(True)
        if payload:
            payload = str(payload)
            if payload.startswith("{") or payload.startswith("["):
                pte_payload.setPlainText(dumps(loads(payload), indent=2))
            else:
                pte_payload.setPlainText(payload)
        else:
            pte_payload.setPlainText("(empty)")

        fl.addWidget(lb_timestamp)
        fl.addRow("Topic", le_topic)
        fl.addRow("Payload", pte_payload)

        self.setLayout(fl)
コード例 #20
0
    def initUI(self):
        self.setupUi(self)
        self.btcusdModel = QStandardItemModel(self.btcusdListView)
        self.btcusdModelIndex = QModelIndex()
        self.btcusdModelIndex = self.btcusdModel.createIndex(
            self.cutoff + 1, 0)
        self.btcusdListView.setModel(self.btcusdModel)
        self.ethusdModel = QStandardItemModel(self.ethusdListView)
        self.ethusdModelIndex = QModelIndex()
        self.ethusdModelIndex = self.ethusdModel.createIndex(
            self.cutoff + 1, 0)
        self.ethusdListView.setModel(self.ethusdModel)
        self.ethbtcModel = QStandardItemModel(self.ethbtcListView)
        self.ethbtcModelIndex = QModelIndex()
        self.ethbtcModelIndex = self.ethbtcModel.createIndex(
            self.cutoff + 1, 0)
        self.ethbtcListView.setModel(self.ethbtcModel)

        # Set fixed-width font
        fixedFont = QFontDatabase.systemFont(1)
        self.btcusdListView.setFont(fixedFont)
        self.ethusdListView.setFont(fixedFont)
        self.ethbtcListView.setFont(fixedFont)

        # Connect actions
        self.closeButton.clicked.connect(self.close)
コード例 #21
0
    def __init__(self, name, timeValue):
        super(QDialog, self).__init__()
        self.resize(300, 150)

        timeContainer = QGroupBox()
        timeContainer.setTitle('Time (ms)')

        self.lineEdit = QLineEdit()
        fixedWidthFont = QFontDatabase.systemFont(QFontDatabase.FixedFont)
        self.lineEdit.setFont(fixedWidthFont)
        self.lineEdit.setText(str(timeValue))
        vLayout = QVBoxLayout()
        vLayout.addWidget(self.lineEdit)

        self.cancelButton = QPushButton()
        self.cancelButton.setText('Cancel')
        self.cancelButton.clicked.connect(self.cancelClicked)

        self.acceptButton = QPushButton()
        self.acceptButton.setText('Accept')
        self.acceptButton.clicked.connect(self.acceptClicked)

        buttonContainer = QWidget()
        hLayout = QHBoxLayout()
        hLayout.addWidget(self.cancelButton)
        hLayout.addWidget(self.acceptButton)
        buttonContainer.setLayout(hLayout)
        vLayout.addWidget(buttonContainer)
        timeContainer.setLayout(vLayout)

        vLayout2 = QVBoxLayout()
        vLayout2.addWidget(timeContainer)
        self.setLayout(vLayout2)
コード例 #22
0
ファイル: librariesdialog.py プロジェクト: Diegojnb/JdeRobot
    def drawWindow(self):
        if self.layout() is not None:
            tempWidget = QWidget()
            tempWidget.setLayout(self.layout())

        gridLayout = QGridLayout()

        # add header
        gridLayout.addWidget(QLabel('Libraries'), 0, 0)
        gridLayout.addWidget(QLabel(''), 0, 1)

        # add new library edit box
        self.libraryNameEdit = QLineEdit()
        fixedWidthFont = QFontDatabase.systemFont(QFontDatabase.FixedFont)
        self.libraryNameEdit.setFont(fixedWidthFont)
        gridLayout.addWidget(self.libraryNameEdit, 1, 0)
        self.addButton = QPushButton('Add')
        self.addButton.clicked.connect(self.addClicked)
        gridLayout.addWidget(self.addButton, 1, 1)

        self.buttons = {}

        row = 2
        for lib in self.libraries:
            gridLayout.addWidget(QLabel(lib), row, 0)
            deleteButton = QPushButton()
            deleteButton.setObjectName(lib)
            deleteButton.setText('Delete')
            deleteButton.clicked.connect(self.deleteButtonClicked)
            gridLayout.addWidget(deleteButton, row, 1)
            row += 1
            self.buttons[deleteButton] = lib

        self.resize(300, 100)
        self.setLayout(gridLayout)
コード例 #23
0
    def __init__(self):
        super(MainWindow, self).__init__()
        uiPath = resourceFileName(os.path.join('gui', 'uis', 'main.ui'))
        loadUi(uiPath, baseinstance=self, package='crispy.gui')

        self.setWindowTitle('Crispy - untitled.lua')

        self.splitter.setSizes((600, 0))

        self.statusbar.showMessage('Ready')

        font = QFontDatabase.systemFont(QFontDatabase.FixedFont)
        font.setPointSize(font.pointSize() + 1)
        self.loggerWidget.setFont(font)
        self.loggerWidget.setLineWrapMode(QPlainTextEdit.NoWrap)

        # Quanty
        self.quantyDockWidget = QuantyDockWidget()
        self.addDockWidget(Qt.RightDockWidgetArea, self.quantyDockWidget)
        self.quantyDockWidget.setVisible(True)
        self.quantyRunCalculationAction.triggered.connect(
            self.quantyDockWidget.runCalculation)
        self.quantySaveInputAction.triggered.connect(
            self.quantyDockWidget.saveInput)
        self.quantySaveAsInputAction.triggered.connect(
            self.quantyDockWidget.saveInputAs)
        self.quantyLoadCalculations.triggered.connect(
            self.quantyDockWidget.loadCalculations)
        self.quantyRemoveAllCalculations.triggered.connect(
            self.quantyDockWidget.removeAllCalculations)

        self.quantyModuleShowAction.triggered.connect(self.quantyModuleShow)
        self.quantyModuleHideAction.triggered.connect(self.quantyModuleHide)
コード例 #24
0
ファイル: UnlabeledRangeItem.py プロジェクト: starling021/uh
    def __init__(self, parent):
        super().__init__(parent)

        font = QFontDatabase.systemFont(QFontDatabase.FixedFont)
        font.setPointSize(8)
        self.setFont(font)
        self.setPlainText("...")
コード例 #25
0
ファイル: timerdialog.py プロジェクト: Diegojnb/JdeRobot
    def __init__(self, name, timeValue):
        super(QDialog, self).__init__()
        self.resize(300, 150)

        timeContainer = QGroupBox()
        timeContainer.setTitle('Time (ms)')

        self.lineEdit = QLineEdit()
        fixedWidthFont = QFontDatabase.systemFont(QFontDatabase.FixedFont)
        self.lineEdit.setFont(fixedWidthFont)
        self.lineEdit.setText(str(timeValue))
        vLayout = QVBoxLayout()
        vLayout.addWidget(self.lineEdit)

        self.cancelButton = QPushButton()
        self.cancelButton.setText('Cancel')
        self.cancelButton.clicked.connect(self.cancelClicked)

        self.acceptButton = QPushButton()
        self.acceptButton.setText('Accept')
        self.acceptButton.clicked.connect(self.acceptClicked)

        buttonContainer = QWidget()
        hLayout = QHBoxLayout()
        hLayout.addWidget(self.cancelButton)
        hLayout.addWidget(self.acceptButton)
        buttonContainer.setLayout(hLayout)
        vLayout.addWidget(buttonContainer)
        timeContainer.setLayout(vLayout)

        vLayout2 = QVBoxLayout()
        vLayout2.addWidget(timeContainer)
        self.setLayout(vLayout2)
コード例 #26
0
ファイル: magicbox.py プロジェクト: zhangzhii/FeelUOwn
    def __init__(self, app, parent=None):
        super().__init__(parent)

        self._app = app
        # self.setPlaceholderText('搜索歌曲、歌手、专辑、用户;执行 Python 代码等')
        self.setFrameShape(QFrame.NoFrame)
        self.setPlaceholderText('Search library, exec code, or run command.')
        self.setToolTip('直接输入文字可以进行过滤,按 Enter 可以搜索\n'
                        '输入 >>> 前缀之后,可以执行 Python 代码\n'
                        '输入 $ 前缀可以执行 fuo 命令(未实现,欢迎 PR)')
        self.setFont(QFontDatabase.systemFont(QFontDatabase.FixedFont))

        # 模拟 QLineEdit
        self.setTabChangesFocus(True)
        self.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
        self.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
        self.setWordWrapMode(QTextOption.NoWrap)
        self.setFixedHeight(self.sizeHint().height())
        self.setMinimumHeight(25)

        self._timer = QTimer(self)
        self._cmd_text = None
        self._mode = 'cmd'  # 详见 _set_mode 函数
        self._timer.timeout.connect(self.__on_timeout)

        self.textChanged.connect(self.__on_text_edited)
        self._highlighter = Highlighter(self.document())
        # self.textEdited.connect(self.__on_text_edited)
        self.returnPressed.connect(self.__on_return_pressed)
コード例 #27
0
ファイル: main_window.py プロジェクト: vgpprasad91/Seq2Graph
 def __init__(self, config, *args, **kwargs):
     super(MainWindow, self).__init__(*args, **kwargs)
     self.config = config
     # Setup the UI
     self.setupUi(self)
     fixed_font = QFontDatabase.systemFont(QFontDatabase.FixedFont)
     fixed_font.setPointSize(8)
     #self.inputSentLE.setFont(fixed_font)
     #self.generatedTE.setFont(fixed_font)
     self.amrTE.setFont(fixed_font)
     self.show()
     # Setup the signals/slots for buttons
     self.exitPB.pressed.connect(self.exit_slot)
     self.toAmrPB.pressed.connect(self.parse_slot)
     self.generatePB.pressed.connect(self.generate_slot)
     self.showGraphPB.pressed.connect(self.show_graph_slot)
     # Signals/slots for menu itesm
     self.actionLoadAMR.triggered.connect(self.load_amr_slot)
     self.actionSaveAMR.triggered.connect(self.save_amr_slot)
     self.last_open = '.'
     self.last_save = '.'
     # Create the processors
     self.stog_processor = ProcessorSTOG(
         self.config, disabled=False)  # Disable for debug
     self.gtos_processor = ProcessorGTOS(self.config, disabled=False)
     # Set the main window title  / status with a qtimer
     self.startup_timer = QTimer(self)
     self.startup_timer.setInterval(250)  # ms
     self.startup_timer.timeout.connect(self.set_window_title)
     self.startup_timer.start()
コード例 #28
0
ファイル: codedialog.py プロジェクト: Diegojnb/JdeRobot
    def __init__(self, name, currentValue):
        super(QDialog, self).__init__()
        self.setWindowTitle(name)
        self.resize(800, 600)
        self.codeEdit = QsciScintilla()
        self.codeEdit.setText(currentValue)
        fixedWidthFont = QFontDatabase.systemFont(QFontDatabase.FixedFont)
        self.codeEdit.setFont(fixedWidthFont)
        fontmetrics = QFontMetrics(fixedWidthFont)
        self.codeEdit.setMarginWidth(0, fontmetrics.width("000"))
        self.codeEdit.setMarginLineNumbers(0, True)
        self.codeEdit.setMarginsBackgroundColor(QColor("#cccccc"))

        self.codeEdit.setBraceMatching(QsciScintilla.SloppyBraceMatch)
        self.codeEdit.setCaretLineVisible(True)
        self.codeEdit.setCaretLineBackgroundColor(QColor("#ffe4e4"))
        lexer = QsciLexerPython()
        lexer.setDefaultFont(fixedWidthFont)
        self.codeEdit.setLexer(lexer)
        self.codeEdit.SendScintilla(QsciScintilla.SCI_SETHSCROLLBAR, 0)
        self.codeEdit.setUtf8(True)

        self.codeEdit.setTabWidth(4)
        self.codeEdit.setIndentationsUseTabs(True)
        self.codeEdit.setIndentationGuides(True)
        self.codeEdit.setTabIndents(True)
        self.codeEdit.setAutoIndent(True)

        self.cancelButton = QPushButton('Cancel')
        self.cancelButton.clicked.connect(self.cancel)
        self.acceptButton = QPushButton('Accept')
        self.acceptButton.clicked.connect(self.accept)

        self.pythonButton = QRadioButton('Python')
        self.pythonButton.setChecked(True)
        self.pythonButton.clicked.connect(self.pythonClicked)
        self.cppButton = QRadioButton('C++')
        self.cppButton.clicked.connect(self.cppClicked)

        hLayout0 = QHBoxLayout()
        hLayout0.addWidget(self.pythonButton)
        hLayout0.addWidget(self.cppButton)
        container0 = QWidget()
        container0.setLayout(hLayout0)

        verticalLayout = QVBoxLayout()
        verticalLayout.addWidget(container0)
        verticalLayout.addWidget(self.codeEdit)

        container = QWidget()
        hLayout =QHBoxLayout()
        hLayout.addWidget(self.cancelButton)
        hLayout.addWidget(self.acceptButton)
        container.setLayout(hLayout)

        verticalLayout.addWidget(container)
        self.setLayout(verticalLayout)

        self.language = 'python'
コード例 #29
0
    def __init__(self, name, currentValue):
        super(QDialog, self).__init__()
        self.setWindowTitle(name)
        self.resize(800, 600)
        self.codeEdit = QsciScintilla()
        self.codeEdit.setText(currentValue)
        fixedWidthFont = QFontDatabase.systemFont(QFontDatabase.FixedFont)
        self.codeEdit.setFont(fixedWidthFont)
        fontmetrics = QFontMetrics(fixedWidthFont)
        self.codeEdit.setMarginWidth(0, fontmetrics.width("000"))
        self.codeEdit.setMarginLineNumbers(0, True)
        self.codeEdit.setMarginsBackgroundColor(QColor("#cccccc"))

        self.codeEdit.setBraceMatching(QsciScintilla.SloppyBraceMatch)
        self.codeEdit.setCaretLineVisible(True)
        self.codeEdit.setCaretLineBackgroundColor(QColor("#ffe4e4"))
        lexer = QsciLexerPython()
        lexer.setDefaultFont(fixedWidthFont)
        self.codeEdit.setLexer(lexer)
        self.codeEdit.SendScintilla(QsciScintilla.SCI_SETHSCROLLBAR, 0)
        self.codeEdit.setUtf8(True)

        self.codeEdit.setTabWidth(4)
        self.codeEdit.setIndentationsUseTabs(True)
        self.codeEdit.setIndentationGuides(True)
        self.codeEdit.setTabIndents(True)
        self.codeEdit.setAutoIndent(True)

        self.cancelButton = QPushButton('Cancel')
        self.cancelButton.clicked.connect(self.cancel)
        self.acceptButton = QPushButton('Accept')
        self.acceptButton.clicked.connect(self.accept)

        self.pythonButton = QRadioButton('Python')
        self.pythonButton.setChecked(True)
        self.pythonButton.clicked.connect(self.pythonClicked)
        self.cppButton = QRadioButton('C++')
        self.cppButton.clicked.connect(self.cppClicked)

        hLayout0 = QHBoxLayout()
        hLayout0.addWidget(self.pythonButton)
        hLayout0.addWidget(self.cppButton)
        container0 = QWidget()
        container0.setLayout(hLayout0)

        verticalLayout = QVBoxLayout()
        verticalLayout.addWidget(container0)
        verticalLayout.addWidget(self.codeEdit)

        container = QWidget()
        hLayout = QHBoxLayout()
        hLayout.addWidget(self.cancelButton)
        hLayout.addWidget(self.acceptButton)
        container.setLayout(hLayout)

        verticalLayout.addWidget(container)
        self.setLayout(verticalLayout)

        self.language = 'python'
コード例 #30
0
    def __init__(self, buf, parent=None):
        super(HexViewWidget, self).__init__()
        self.setupUi(self)
        self._buf = buf
        self._model = HexTableModel(self._buf)

        self._colored_regions = intervaltree.IntervalTree()
        self._origins = []

        # ripped from pyuic5 ui/hexview.ui
        #   at commit 6c9edffd32706097d7eba8814d306ea1d997b25a
        # so we can add our custom HexTableView instance
        self.view = HexTableView(self)
        sizePolicy = QSizePolicy(QSizePolicy.MinimumExpanding, QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.view.sizePolicy().hasHeightForWidth())
        self.view.setSizePolicy(sizePolicy)
        self.view.setMinimumSize(QSize(660, 0))
        self.view.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
        self.view.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
        self.view.setSelectionMode(QAbstractItemView.NoSelection)
        self.view.setShowGrid(False)
        self.view.setWordWrap(False)
        self.view.setObjectName("view")
        self.view.horizontalHeader().setDefaultSectionSize(25)
        self.view.horizontalHeader().setMinimumSectionSize(25)
        self.view.verticalHeader().setDefaultSectionSize(21)
        self.mainLayout.insertWidget(0, self.view)
        # end rip

        # TODO: provide a HexViewWidget.setModel method, and don't build it ourselves
        self.view.setModel(self._model)
        for i in range(0x10):
            self.view.setColumnWidth(i, 25)
        self.view.setColumnWidth(0x10, 12)
        for i in range(0x11, 0x22):
            self.view.setColumnWidth(i, 11)

        self._hsm = HexItemSelectionModel(self._model, self.view)
        self.view.setSelectionModel(self._hsm)

        self.view.setContextMenuPolicy(Qt.CustomContextMenu)
        self.view.customContextMenuRequested.connect(self._handle_context_menu_requested)

        self._hsm.selectionRangeChanged.connect(self._handle_selection_range_changed)

        self.originsChanged.connect(self._handle_origins_changed)

        self.view.moveKeyPressed.connect(self._hsm.handle_move_key)
        self.view.selectKeyPressed.connect(self._hsm.handle_select_key)

        f = QFontDatabase.systemFont(QFontDatabase.FixedFont)
        self.view.setFont(f)
        self.statusLabel.setFont(f)

        self.view.setItemDelegate(HexItemDelegate(self._model, self))

        self.statusLabel.setText("")
コード例 #31
0
    def __init__(self, buf, parent=None):
        super(HexViewWidget, self).__init__()
        self.setupUi(self)
        self._buf = buf
        self._model = HexTableModel(self._buf)

        self._colored_regions = intervaltree.IntervalTree()
        self._origins = []

        # ripped from pyuic5 ui/hexview.ui
        #   at commit 6c9edffd32706097d7eba8814d306ea1d997b25a
        # so we can add our custom HexTableView instance
        self.view = HexTableView(self)
        sizePolicy = QSizePolicy(QSizePolicy.MinimumExpanding, QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.view.sizePolicy().hasHeightForWidth())
        self.view.setSizePolicy(sizePolicy)
        self.view.setMinimumSize(QSize(660, 0))
        self.view.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
        self.view.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
        self.view.setSelectionMode(QAbstractItemView.NoSelection)
        self.view.setShowGrid(False)
        self.view.setWordWrap(False)
        self.view.setObjectName("view")
        self.view.horizontalHeader().setDefaultSectionSize(25)
        self.view.horizontalHeader().setMinimumSectionSize(25)
        self.view.verticalHeader().setDefaultSectionSize(21)
        self.mainLayout.insertWidget(0, self.view)
        # end rip

        # TODO: provide a HexViewWidget.setModel method, and don't build it ourselves
        self.view.setModel(self._model)
        for i in range(0x10):
            self.view.setColumnWidth(i, 23)
        self.view.setColumnWidth(0x10, 12)
        for i in range(0x11, 0x22):
            self.view.setColumnWidth(i, 11)

        self._hsm = HexItemSelectionModel(self._model, self.view)
        self.view.setSelectionModel(self._hsm)

        self.view.setContextMenuPolicy(Qt.CustomContextMenu)
        self.view.customContextMenuRequested.connect(self._handle_context_menu_requested)

        self._hsm.selectionRangeChanged.connect(self._handle_selection_range_changed)

        self.originsChanged.connect(self._handle_origins_changed)

        self.view.moveKeyPressed.connect(self._hsm.handle_move_key)
        self.view.selectKeyPressed.connect(self._hsm.handle_select_key)

        f = QFontDatabase.systemFont(QFontDatabase.FixedFont)
        self.view.setFont(f)
        self.statusLabel.setFont(f)

        self.view.setItemDelegate(HexItemDelegate(self._model, self))

        self.statusLabel.setText("")
コード例 #32
0
 def family(self):
     return idaapi.reg_read_string(
         'Name',
         self._key,
         'Consolas'
         if os.name == 'nt' else 
         QFontDatabase.systemFont(QFontDatabase.FixedFont).family().encode()    
     )
コード例 #33
0
 def __init__(self, classifier, *args, **kwargs):
     super().__init__(*args, **kwargs)
     self.classifier = classifier
     self.tf_session = tf.Session()
     self.setReadOnly(True)
     self.setFont(QFontDatabase.systemFont(QFontDatabase.FixedFont)) # monospace
     self.setFontPointSize(10)
     self.setInfo()
コード例 #34
0
def get_monospaced_font(size):
    '''
    Takes a size and finds a monospaced font from system fonts,
    sets the font size and then returns it
    '''
    monospace_font = QFontDatabase.systemFont(QFontDatabase.FixedFont)
    monospace_font.setPointSize(size)
    return monospace_font
コード例 #35
0
    def __init__(self, name):
        super(QDialog, self).__init__()
        self.setWindowTitle(name)
        self.config = None

        self.gridLayout = QGridLayout()

        # add header
        self.gridLayout.addWidget(QLabel('Server Type'), 0, 0)
        self.gridLayout.addWidget(QLabel('Name'), 0, 1)
        self.gridLayout.addWidget(QLabel('Topic'), 0, 2)
        self.gridLayout.addWidget(QLabel('Proxy Name'), 0, 3)
        self.gridLayout.addWidget(QLabel('IP'), 0, 4)
        self.gridLayout.addWidget(QLabel('Port'), 0, 5)
        self.gridLayout.addWidget(QLabel('Interface'), 0, 6)
        self.gridLayout.addWidget(QLabel(''), 0, 7)

        # add new config input fields
        fixedWidthFont = QFontDatabase.systemFont(QFontDatabase.FixedFont)
        self.serverTypeCombo = QComboBox()
        self.serverTypeCombo.setFont(fixedWidthFont)
        self.gridLayout.addWidget(self.serverTypeCombo, 1, 0)
        self.nameEdit = QLineEdit()
        self.nameEdit.setFont(fixedWidthFont)
        self.gridLayout.addWidget(self.nameEdit, 1, 1)
        self.topicEdit = QLineEdit()
        self.topicEdit.setFont(fixedWidthFont)
        self.topicEdit.setEnabled(False)
        self.gridLayout.addWidget(self.topicEdit, 1, 2)
        self.proxyNameEdit = QLineEdit()
        self.proxyNameEdit.setFont(fixedWidthFont)
        self.gridLayout.addWidget(self.proxyNameEdit, 1, 3)
        self.ipEdit = QLineEdit()
        self.ipEdit.setFont(fixedWidthFont)
        self.gridLayout.addWidget(self.ipEdit, 1, 4)
        self.portEdit = QLineEdit()
        self.portEdit.setFont(fixedWidthFont)
        self.gridLayout.addWidget(self.portEdit, 1, 5)
        self.interfaceCombo = QComboBox()
        self.gridLayout.addWidget(self.interfaceCombo, 1, 6)
        self.addButton = QPushButton('Add')
        self.gridLayout.addWidget(self.addButton, 1, 7)
        self.addButton.clicked.connect(self.addClicked)

        self.rowCount = 2

        # add server types to the combobox
        self.serverTypeCombo.addItem('ICE', 'ice')
        self.serverTypeCombo.addItem('ROS', 'ros')
        self.serverTypeCombo.currentIndexChanged.connect(self.serverTypeChanged)

        # add interfaces to the combobox
        interfaces = Interfaces.getInterfaces()
        for interfaceName in interfaces:
            self.interfaceCombo.addItem(interfaceName, interfaceName)

        self.resize(700, 100)
        self.setLayout(self.gridLayout)
コード例 #36
0
ファイル: notepad.py プロジェクト: brycenaddison/code-jam-4
    def __init__(self, ctx: ApplicationContext, app: QApplication, *args,
                 **kwargs):
        """Set up the single instance of the application."""
        super(MainWindow, self).__init__(*args, **kwargs)
        self.app = app
        self.ctx = ctx

        # Set up the QTextEdit editor configuration
        self.text_window = QPlainTextEdit()  # the actual editor pane
        self.text_window.setTabStopWidth(
            800)  # Set the tabstop to a nice pretty 800 pixels
        fixed_font = QFontDatabase.systemFont(QFontDatabase.FixedFont)
        fixed_font.setPointSize(24)
        self.text_window.setFont(QFont('Comic Sans MS', 30))
        self.text_window.installEventFilter(self)
        click_sound = self.ctx.get_resource('sounds/click.wav')
        self.sound = QSound(click_sound)
        enter_sound = self.ctx.get_resource('sounds/scream.wav')
        self.enter_sound = QSound(enter_sound)
        backspace_sound = self.ctx.get_resource('sounds/wrong.wav')
        self.backspace_sound = QSound(backspace_sound)

        # Main window layout. Most of the dialogs in Crocpad++ are converted to .py from
        # Qt Designer .ui files in the ui/ directory, but the main app window is built here.
        layout = QVBoxLayout()
        layout.addWidget(self.text_window)
        container = QWidget()
        container.setLayout(layout)
        self.setCentralWidget(container)
        self.status = QStatusBar()
        self.setStatusBar(self.status)

        # Update title and centre window
        self.filename = "** Untitled **"
        self.setGeometry(50, 50, 800, 600)
        rectangle = self.frameGeometry()
        center_point = QDesktopWidget().availableGeometry().center()
        rectangle.moveCenter(center_point)
        self.move(rectangle.topLeft())
        window_icon = self.ctx.get_resource('crocpad.ico')
        self.setWindowIcon(QIcon(window_icon))
        self.create_menus()
        styles = {
            'light': crocpad.stylesheets.light,
            'dark': crocpad.stylesheets.dark,
            'hotdogstand': crocpad.stylesheets.hotdogstand,
            'quitedark': crocpad.stylesheets.quitedark
        }
        self.app.setStyleSheet(styles[app_config['Editor']['visualmode']])
        self.show()

        # Post-startup tasks
        if app_config['License']['eulaaccepted'] != 'yes':
            self.do_eula()
        self.show_tip()  # tip of the day
        if app_config['Editor']['linewrap'] == 'off':
            self.text_window.setLineWrapMode(0)
            self.wrap_action.setChecked(False)
コード例 #37
0
ファイル: configdialog.py プロジェクト: Diegojnb/JdeRobot
    def __init__(self, title, config):
        QDialog.__init__(self)
        if config is not None:
            self.type = config.type
        else:
            self.type = JDEROBOTCOMM

        self.setWindowTitle(title)
        commSelectionBox = QGroupBox('Select Communication Interface')
        commSelectionBox.setObjectName('commInterface')
        # add new config input fields
        fixedWidthFont = QFontDatabase.systemFont(QFontDatabase.FixedFont)
        self.commTypeCombo = QComboBox()
        self.commTypeCombo.setFont(fixedWidthFont)
        self.commTypeCombo.setMaximumWidth(220)
        boxLayout = QVBoxLayout()
        boxLayout.addWidget(self.commTypeCombo)
        commSelectionBox.setLayout(boxLayout)
        vLayout = QFormLayout()
        vLayout.addWidget(commSelectionBox)

        self.configsLayout = QVBoxLayout()
        self.configsBox = QGroupBox('')
        self.configsBox.setLayout(self.configsLayout)
        vLayout.addWidget(self.configsBox)

        self.setLayout(vLayout)
        self.resize(700, 500)
        #self.setStyleSheet('QGroupBox#commInterface { border: 1px solid black; border-radius: 4px; padding:15px;} QGroupBox::title#commInterface {background-color:transparent; padding-left:25px; padding-top:5px;} ')

        self.rosConfigsUI = RosConfigDialog('ROS Communication')
        self.rosConfigsUI.configChanged.connect(self.configChangedHandler)
        self.configsLayout.addWidget(self.rosConfigsUI)
        self.rosConfigsUI.setVisible(False)
        self.jderobotCommConfigsUI = JdeRobotCommConfigDialog('JdeRobot Communication')
        self.jderobotCommConfigsUI.configChanged.connect(self.configChangedHandler)
        self.configsLayout.addWidget(self.jderobotCommConfigsUI)
        self.jderobotCommConfigsUI.setVisible(True)

        self.rosConfig = None
        self.jdeRobotCommConfig = None

        self.commTypeCombo.addItem('JdeRobot Communication', 'jderobotcomm')
        self.commTypeCombo.addItem('ROS Node', 'ros')
        self.commTypeCombo.currentIndexChanged.connect(self.commTypeComboChanged)

        if config is not None:
            if config.type == ROS:
                self.rosConfig = config
                self.commTypeCombo.setCurrentIndex(1)
                self.loadRosConfigs()
            elif config.type == JDEROBOTCOMM:
                self.jdeRobotCommConfig = config
                self.commTypeCombo.setCurrentIndex(0)
                self.loadJdeRobotCommConfigs()
        else:
            self.loadJdeRobotCommConfigs()
コード例 #38
0
ファイル: RulesEditor.py プロジェクト: goc9000/baon
    def __init__(self, parent):
        super().__init__(parent)

        self.setFont(QFontDatabase.systemFont(QFontDatabase.FixedFont))
        self.setAcceptRichText(False)
        self.setTabChangesFocus(True)

        self._highlighter = RulesEditorHighlighter(self.document())

        self._quiescence_timer = QTimer(self)
        self._quiescence_timer.setSingleShot(True)
        self._quiescence_timer.setInterval(self.QUIESCENCE_TIME_MSEC)
        self._quiescence_timer.timeout.connect(self._on_quiescence_timer_timeout)

        self.document().contentsChanged.connect(self._on_contents_changed)
コード例 #39
0
ファイル: Theme.py プロジェクト: Ultimaker/Uranium
    def _initializeDefaults(self) -> None:
        self._fonts = {
            "system": QCoreApplication.instance().font(),
            "fixed": QFontDatabase.systemFont(QFontDatabase.FixedFont)
        }

        palette = QCoreApplication.instance().palette()
        self._colors = {
            "system_window": palette.window(),
            "system_text": palette.text()
        }

        self._sizes = {
            "line": QSizeF(self._em_width, self._em_height)
        }
コード例 #40
0
ファイル: qt.py プロジェクト: asfin/electrum
    def create_key_info_tab(self):
        w = QWidget()

        layout = QGridLayout(w)

        layout.addWidget(QLabel(_('GPG public key')), 1, 1)

        data_e = QTextEdit()
        data_e.setReadOnly(True)
        data_e.setFont(QFontDatabase.systemFont(QFontDatabase.FixedFont))

        layout.addWidget(data_e, 2, 1)
        data_e.setPlainText(self.gpgw.export_pubkey())

        return w
コード例 #41
0
def fixedFont():
    """
    Returns a default fixed-pitch QFont_ for each supported platform.

    Returns "Consolas" instead of the default "Courier New" on Windows.

    TODO: test more

    .. _QFont: http://doc.qt.io/qt-5/qfont.html
    """
    font = QFontDatabase.systemFont(QFontDatabase.FixedFont)
    if sys.platform == "win32":
        # pick Consolas instead of Courier New
        font.setFamily("Consolas")
    elif sys.platform == "darwin":
        # pick Menlo instead of Monaco
        font.setFamily("Menlo")
        font.setPointSize(11)
    return font
コード例 #42
0
    def __init__(self, parent, connection, terminal):
        super(TerminalDialog, self).__init__(None, Qt.WindowCloseButtonHint)
        self.setupUi(self)

        self.setWindowFlags(Qt.Window)
        geometry = Settings().retrieve_geometry("terminal")
        if geometry:
            self.restoreGeometry(geometry)

        self.connection = connection
        self.terminal = terminal
        self._auto_scroll = True  # TODO: Settings?
        self.terminal_listener = Listener(self.emit_update_content)
        self._update_content_signal.connect(self.update_content)
        self.terminal.add_event.connect(self.terminal_listener)

        self.outputTextEdit.installEventFilter(self)
        self.outputTextEdit.verticalScrollBar().sliderPressed.connect(self._stop_scrolling)
        self.outputTextEdit.verticalScrollBar().sliderReleased.connect(self._scroll_released)
        self.outputTextEdit.verticalScrollBar().installEventFilter(self)
        self.inputTextBox.installEventFilter(self)
        self.clearButton.clicked.connect(self.clear_content)
        self.sendButton.clicked.connect(self.send_input)

        self.ctrlaButton.clicked.connect(lambda: self.send_control("a"))
        self.ctrlbButton.clicked.connect(lambda: self.send_control("b"))
        self.ctrlcButton.clicked.connect(lambda: self.send_control("c"))
        self.ctrldButton.clicked.connect(lambda: self.send_control("d"))
        self.ctrleButton.clicked.connect(lambda: self.send_control("e"))

        fixed_font = QFontDatabase.systemFont(QFontDatabase.FixedFont)
        self.outputTextEdit.setFont(fixed_font)
        self.inputTextBox.setFont(fixed_font)
        self.autoscrollCheckBox.setChecked(self._auto_scroll)
        self.autoscrollCheckBox.stateChanged.connect(self._auto_scroll_changed)

        self.terminal.read()
        self.outputTextEdit.setText(TerminalDialog.process_backspaces(self.terminal.history))
        self._input_history_index = 0
コード例 #43
0
    def __init__(self, parent, connection):
        super(CodeEditDialog, self).__init__(None, Qt.WindowCloseButtonHint)
        self.setupUi(self)

        geometry = Settings().retrieve_geometry("editor")
        if geometry:
            self.restoreGeometry(geometry)

        self._connection = connection

        self.saveLocalButton.clicked.connect(self._save_local)
        self.saveMcuButton.clicked.connect(self._save_to_mcu)
        #self.runButton.clicked.connect(self._run_file)
        self.runButton.hide()

        fixed_font = QFontDatabase.systemFont(QFontDatabase.FixedFont)
        self.codeEdit.setFont(fixed_font)

        if connection and connection.is_connected():
            self.connected(connection)
        else:
            self.disconnected()
コード例 #44
0
ファイル: main.py プロジェクト: mretegan/crispy
    def __init__(self):
        super(MainWindow, self).__init__()

        uiPath = resourceFileName('uis:main.ui')
        loadUi(uiPath, baseinstance=self, package='crispy.gui')

        # Main window.
        self.statusbar.showMessage('Ready')

        # Logger widget.
        font = QFontDatabase.systemFont(QFontDatabase.FixedFont)
        if sys.platform == 'darwin':
            font.setPointSize(font.pointSize() + 1)
        self.loggerWidget.setFont(font)
        self.loggerWidget.setLineWrapMode(QPlainTextEdit.NoWrap)

        # About dialog.
        self.aboutDialog = AboutDialog(parent=self)
        self.openAboutDialogAction.triggered.connect(self.openAboutDialog)

        # Quanty module.
        self.quantyModuleInit()
コード例 #45
0
ファイル: gui.py プロジェクト: colchuck/pySchlageGen
 def initUI(self):
     app_icon = QIcon()
     app_icon.addFile("key.png", QSize(256, 256))
     self.setWindowIcon(app_icon)
     # open
     openFile = QAction('Open', self)
     openFile.setShortcut('Ctrl+O')
     openFile.setStatusTip('Open new File')
     openFile.triggered.connect(self.fileOpen)
     # save
     saveFile = QAction('Save', self)
     saveFile.setShortcut('Ctrl+S')
     saveFile.setStatusTip('Save new File')
     saveFile.triggered.connect(self.fileSave)
     printAction = QAction("Print", self)
     printAction.triggered.connect(self.printSetup)
     # exit
     exitAction = QAction('Exit', self)
     exitAction.triggered.connect(self.closeEvent)
     # menu object
     menubar = self.menuBar()
     # file drop down
     fileMenu = menubar.addMenu('&File')
     fileMenu.addAction(openFile)
     fileMenu.addAction(saveFile)
     fileMenu.addAction(printAction)
     fileMenu.addAction(exitAction)
     # widgets
     grid = QGridLayout()
     horiz = QVBoxLayout()
     bigHoriz = QHBoxLayout()
     horizLayout = QHBoxLayout()
     window = QWidget()
     window.setLayout(bigHoriz)
     leftPane = QFormLayout()
     bigHoriz.addLayout(leftPane)
     bigHoriz.addLayout(horiz)
     self.setCentralWidget(window)
     btn = QPushButton('Generate', self)
     btn.clicked.connect(lambda: self.runGen())
     clearBtn = QPushButton("Clear", self)
     clearBtn.clicked.connect(self.clearList)
     self.mainText = QListWidget(self)
     self.mainText.itemSelectionChanged.connect(self.listItemClicked)
     self.mainText.setFont(
         QFontDatabase.systemFont(QFontDatabase.FixedFont))
     self.mastInput = []
     i = 0
     while i < 6:
         t = QLineEdit()
         t.setMaxLength(1)
         t.setAlignment(Qt.AlignHCenter)
         t.textChanged.connect(self.textInputed)
         self.mastInput.append(t)
         i = i + 1
     for e in self.mastInput:
         horizLayout.addWidget(e)
     self.mast = QLineEdit()
     self.tenants = QLineEdit()
     self.inc = QLineEdit()
     self.title = QLineEdit()
     self.title.setMinimumWidth(200)
     self.desc = QLineEdit()
     self.address = QLineEdit()
     self.contact = QLineEdit()
     self.phone = QLineEdit()
     self.email = QLineEdit()
     self.notes = QTextEdit()
     self.keyway = QLineEdit()
     label = QLabel("Master Cuts")
     incLabel = QLabel("Increment")
     tenantLabel = QLabel("Tenants")
     # add widgets to layouts
     leftPane.addRow(QLabel("Title"), self.title)
     leftPane.addRow(QLabel("Description"), self.desc)
     leftPane.addRow(QLabel("Keyway"), self.keyway)
     leftPane.addRow(QLabel("Address"), self.address)
     leftPane.addRow(QLabel("contact"), self.contact)
     leftPane.addRow(QLabel("Phone"), self.phone)
     leftPane.addRow(QLabel("Email"), self.email)
     leftPane.addRow(QLabel("Notes"), self.notes)
     grid.addWidget(incLabel, 3, 0)
     grid.addWidget(tenantLabel, 2, 0)
     grid.addWidget(label, 1, 0)
     grid.addWidget(btn, 0, 0)
     horiz.addWidget(self.mainText)
     horiz.addLayout(grid)
     # horiz.addLayout(horizLayout)
     grid.addWidget(clearBtn, 0, 1)
     grid.addWidget(self.tenants, 2, 1)
     grid.addWidget(self.inc, 3, 1)
     grid.addLayout(horizLayout, 1, 1)
     # window properties
     self.setGeometry(300, 300, 500, 425)
     self.setWindowTitle('PySchlageGen')
     self.show()
コード例 #46
0
ファイル: util.py プロジェクト: jopohl/urh
def get_monospace_font() -> QFont:
    fixed_font = QFontDatabase.systemFont(QFontDatabase.FixedFont)
    fixed_font.setPointSize(QApplication.instance().font().pointSize())
    return fixed_font
コード例 #47
0
ファイル: codedialog.py プロジェクト: Diegojnb/JdeRobot
 def pythonClicked(self):
     fixedWidthFont = QFontDatabase.systemFont(QFontDatabase.FixedFont)
     lexer = QsciLexerPython()
     lexer.setDefaultFont(fixedWidthFont)
     self.codeEdit.setLexer(lexer)
     self.language = 'python'
コード例 #48
0
ファイル: qt.py プロジェクト: hibtc/madgui
def monospace():
    """Return a fixed-space ``QFont``."""
    return QFontDatabase.systemFont(QFontDatabase.FixedFont)
コード例 #49
0
    def __init__(self, name, transition):
        super(QDialog, self).__init__()
        self.transition = transition
        self.setWindowTitle(name)
        self.resize(800, 600)

        self.codeEdit = QsciScintilla()
        self.codeEdit.setText(self.transition.getCode())
        fixedWidthFont = QFontDatabase.systemFont(QFontDatabase.FixedFont)
        self.codeEdit.setFont(fixedWidthFont)
        fontmetrics = QFontMetrics(fixedWidthFont)
        self.codeEdit.setMarginWidth(0, fontmetrics.width("000"))
        self.codeEdit.setMarginLineNumbers(0, True)
        self.codeEdit.setMarginsBackgroundColor(QColor("#cccccc"))

        self.codeEdit.setBraceMatching(QsciScintilla.SloppyBraceMatch)
        self.codeEdit.setCaretLineVisible(True)
        self.codeEdit.setCaretLineBackgroundColor(QColor("#ffe4e4"))
        lexer = QsciLexerPython()
        lexer.setDefaultFont(fixedWidthFont)
        self.codeEdit.setLexer(lexer)
        self.codeEdit.SendScintilla(QsciScintilla.SCI_SETHSCROLLBAR, 0)
        self.codeEdit.setUtf8(True)

        self.codeEdit.setTabWidth(4)
        self.codeEdit.setIndentationsUseTabs(True)
        self.codeEdit.setIndentationGuides(True)
        self.codeEdit.setTabIndents(True)
        self.codeEdit.setAutoIndent(True)

        self.cancelButton = QPushButton('Cancel')
        self.cancelButton.clicked.connect(self.cancel)
        self.acceptButton = QPushButton('Accept')
        self.acceptButton.clicked.connect(self.accept)

        self.language = 'python'
        self.pythonButton = QRadioButton('Python')
        self.pythonButton.setChecked(True)
        self.pythonButton.clicked.connect(self.pythonClicked)
        self.cppButton = QRadioButton('C++')
        self.cppButton.clicked.connect(self.cppClicked)

        codeLanguageContainer = QWidget()
        hLayout0 = QHBoxLayout()
        hLayout0.addWidget(self.pythonButton)
        hLayout0.addWidget(self.cppButton)
        codeLanguageContainer.setLayout(hLayout0)

        self.temporalButton = QRadioButton('Temporal', self)
        self.temporalButton.toggled.connect(self.temporalToggled)
        self.conditionalButton = QRadioButton('Conditional', self)
        self.conditionalButton.toggled.connect(self.conditionalToggled)

        radioButtonContainer = QGroupBox()
        radioButtonContainer.setTitle('Transition Type')
        vLayout = QVBoxLayout()
        vLayout.addWidget(self.temporalButton)
        vLayout.addWidget(self.conditionalButton)
        radioButtonContainer.setLayout(vLayout)

        self.transitionTypeCode = QTextEdit()
        self.transitionTypeCode.setFont(fixedWidthFont)
        self.transitionGroupBox = QGroupBox()
        self.transitionGroupBox.setTitle('Temporal (number in ms)')
        h3Layout = QHBoxLayout()
        h3Layout.addWidget(self.transitionTypeCode)
        self.transitionGroupBox.setLayout(h3Layout)

        typeContainer = QWidget()
        h2Layout = QHBoxLayout()
        h2Layout.addWidget(radioButtonContainer)
        h2Layout.addWidget(self.transitionGroupBox)
        typeContainer.setLayout(h2Layout)

        verticalLayout = QVBoxLayout()
        verticalLayout.addWidget(typeContainer)
        verticalLayout.addWidget(codeLanguageContainer)
        verticalLayout.addWidget(self.codeEdit)

        container = QWidget()
        hLayout =QHBoxLayout()
        hLayout.addWidget(self.cancelButton)
        hLayout.addWidget(self.acceptButton)
        container.setLayout(hLayout)

        verticalLayout.addWidget(container)
        self.setLayout(verticalLayout)

        if self.transition.getType() == TransitionType.CONDITIONAL:
            self.conditionalButton.setChecked(True)
            self.conditionalToggled()
        elif self.transition.getType() == TransitionType.TEMPORAL:
            self.temporalButton.setChecked(True)
            self.temporalToggled()
コード例 #50
0
ファイル: fonts_test.py プロジェクト: B-Rich/PPQT2
app.setOrganizationDomain("pgdp.net")
app.setApplicationName("PPQT2")
from PyQt5.QtCore import QSettings
settings = QSettings()
import constants as C
import fonts
from PyQt5.QtGui import (QFont, QFontInfo, QFontDatabase)

# check initialize
# check defaults on empty settings
def same_font(qf1, qf2):
    return qf1.family() == qf2.family() and qf1.pointSize() == qf2.pointSize()

settings.clear()
myfdb = QFontDatabase()
genqf = myfdb.systemFont(QFontDatabase.GeneralFont)
fonts.initialize(settings)
assert same_font(genqf,fonts.get_general())
monqf = fonts.get_fixed()
dbg = monqf.family()
assert monqf.family() == 'Liberation Mono'
assert monqf.pointSize() == C.DEFAULT_FONT_SIZE
SIGBOOL = None
def slot(boola):
    global SIGBOOL
    SIGBOOL = boola
fonts.notify_me(slot)
fonts.set_general(genqf) # should be no signal
assert SIGBOOL is None
palqf = myfdb.font('Palatino','Normal',18)
fonts.set_general(palqf) # should cause signal(false)
コード例 #51
0
    def __init__(self, proto_analyzer: ProtocolAnalyzer, undo_stack: QUndoStack,
                 project_manager, proto_bits=None, parent=None):
        super().__init__(parent)

        self.undo_stack = undo_stack

        self.ui = Ui_SignalFrame()
        self.ui.setupUi(self)

        fixed_font = QFontDatabase.systemFont(QFontDatabase.FixedFont)
        fixed_font.setPointSize(QApplication.instance().font().pointSize())
        self.ui.txtEdProto.setFont(fixed_font)
        self.ui.txtEdProto.participants = project_manager.participants
        self.ui.txtEdProto.messages = proto_analyzer.messages

        self.ui.gvSignal.participants = project_manager.participants

        self.setAttribute(Qt.WA_DeleteOnClose)
        self.project_manager = project_manager

        self.proto_analyzer = proto_analyzer
        self.signal = proto_analyzer.signal if self.proto_analyzer is not None else None  # type: Signal

        self.dsp_filter = Filter([0.1] * 10, FilterType.moving_average)
        self.set_filter_button_caption()
        self.filter_dialog = FilterDialogController(self.dsp_filter, parent=self)

        self.proto_selection_timer = QTimer()  # For Update Proto Selection from ROI
        self.proto_selection_timer.setSingleShot(True)
        self.proto_selection_timer.setInterval(1)

        # Disabled because never used (see also set_protocol_visibilty())
        self.ui.chkBoxSyncSelection.hide()

        if self.signal is not None:
            self.filter_menu = QMenu()
            self.apply_filter_to_selection_only = self.filter_menu.addAction(self.tr("Apply only to selection"))
            self.apply_filter_to_selection_only.setCheckable(True)
            self.apply_filter_to_selection_only.setChecked(False)
            self.configure_filter_action = self.filter_menu.addAction("Configure filter...")
            self.configure_filter_action.setIcon(QIcon.fromTheme("configure"))
            self.configure_filter_action.triggered.connect(self.on_configure_filter_action_triggered)
            self.ui.btnFilter.setMenu(self.filter_menu)

            if self.signal.qad_demod_file_loaded:
                self.ui.lSignalTyp.setText("Quad-Demod Signal (*.wav)")
            elif self.signal.wav_mode:
                self.ui.lSignalTyp.setText("Realpart Signal (*.wav)")
            else:
                self.ui.lSignalTyp.setText("Complex Signal")

            self.ui.gvLegend.hide()
            self.ui.lineEditSignalName.setText(self.signal.name)
            self.ui.lSamplesInView.setText("{0:,}".format(self.signal.num_samples))
            self.ui.lSamplesTotal.setText("{0:,}".format(self.signal.num_samples))
            self.sync_protocol = self.ui.chkBoxSyncSelection.isChecked()
            self.ui.chkBoxSyncSelection.hide()

            self.ui.splitter.setSizes([self.ui.splitter.height(), 0])

            self.protocol_selection_is_updateable = True

            self.scene_manager = SignalSceneManager(self.signal, self)
            self.ui.gvSignal.scene_manager = self.scene_manager
            self.ui.gvSignal.setScene(self.scene_manager.scene)

            self.jump_sync = True
            self.on_btn_show_hide_start_end_clicked()

            self.refresh_signal_information(block=True)
            self.create_connects()
            self.set_protocol_visibility()

            self.ui.chkBoxShowProtocol.setChecked(True)
            self.set_qad_tooltip(self.signal.noise_threshold)
            self.ui.btnSaveSignal.hide()

            self.show_protocol(refresh=False)

        else:
            self.ui.btnFilter.setDisabled(True)
            suffix = ""
            if not proto_analyzer.filename:
                suffix = ""
            elif proto_analyzer.filename.endswith(".proto"):
                suffix = " (*.proto)"
            elif proto_analyzer.filename.endswith(".txt"):
                suffix = " (*.txt)"
            self.ui.lSignalTyp.setText("Protocol"+suffix)

            scene, nsamples = SignalSceneManager.create_rectangle(proto_bits)

            self.ui.lSamplesInView.setText("{0:n}".format(int(nsamples)))
            self.ui.lSamplesTotal.setText("{0:n}".format(int(nsamples)))
            self.ui.gvSignal.setScene(scene)
            self.ui.spinBoxSelectionStart.setMaximum(nsamples)
            self.ui.spinBoxSelectionEnd.setMaximum(nsamples)
            self.ui.btnReplay.hide()

            self.create_connects()

            self.ui.gvSignal.sel_area_active = True

            self.ui.btnSaveSignal.hide()