示例#1
0
 def __init__(self, title):
     super().__init__()
     self.setWindowTitle(title)
     QToolTip.setFont(QFont('SansSerif', 10))
     self.setGeometry(400, 400, 300, 200)
     self.build_buttons()
     self.show()
示例#2
0
    def initUI(self):
        QToolTip.setFont(QFont('SansSerif', 10))
        self.setToolTip('This is a <b>QWidget</b> widget.')

        exitAction = QAction(QIcon('application-exit-4.png'), '&Exit', self)
        exitAction.setShortcut('Alt+F4')
        exitAction.setStatusTip('Exit Application')
        exitAction.triggered.connect(qApp.quit)
        menuBar = self.menuBar()
        fileMenu = menuBar.addMenu('&File')
        fileMenu.addAction(exitAction)
        self.toolbar = self.addToolBar('Exit')
        self.toolbar.addAction(exitAction)

        grid = QGridLayout()
        lbl_1 = QLabel('1,1')
        lbl_2 = QLabel('1,2')
        lbl_3 = QLabel('2,1')
        lbl_4 = QLabel('2,2')
        grid.addWidget(lbl_1, 1, 1)
        grid.addWidget(lbl_2, 1, 2)
        grid.addWidget(lbl_3, 2, 1)
        grid.addWidget(lbl_4, 2, 2)

        mainW = QWidget()
        mainW.setLayout(grid)

        self.setCentralWidget(mainW)
        self.statusBar().showMessage('Ready')

        self.setGeometry(300, 300, 500, 500)
        self.setWindowTitle('Photos')
        self.setWindowIcon(QIcon('camera-photo-5.png'))
        self.center()
        self.show()
    def gui_choise_server_client(self):
        self.hide_last_objects()

        QToolTip.setFont(QFont('SansSerif', 10))

        btn_server = QPushButton('Server', self)
        btn_server.clicked.connect(self.server_set_socket_settings_gui) # from server.ServerMixin TODO аналогично
        btn_server.resize(btn_server.sizeHint())
        btn_server.move(50, 50)


        btn_client = QPushButton('Client', self)
        btn_client.clicked.connect(self.client_set_socket_settings_gui) # from client.ClientMixin
        btn_client.resize(btn_client.sizeHint())
        btn_client.move(150, 50)

        btn_exit = QPushButton('Quit', self)
        btn_exit.clicked.connect(QCoreApplication.instance().quit)
        btn_exit.resize(btn_exit.sizeHint())
        btn_exit.move(200, 170)

        self.setGeometry(450, 300, 300, 200)
        self.setWindowTitle('Client_Server')
        self.show()

        self.objects_to_hide = (btn_exit, btn_client, btn_server)
        self.show_current_objects()
示例#4
0
    def mouseMoveEvent(self, event):
        position = self.mapFromGlobal(event.globalPos())
        key = (position.y() // self.cellSize) * self.columns + position.x() // self.cellSize

        text = '<p>Character: <span style="font-size: 24pt; font-family: %s">%s</span><p>code: %d' % (
                self.displayFont.family(), self._chr(key), key+32)
        QToolTip.showText(event.globalPos(), text, self)
示例#5
0
    def initUI(self):
        """On definit une methode pour definir la fenetre graphique"""

        #On definit la police et la taille du texte dans les bulles d'aide
        QToolTip.setFont(QFont('SansSerif', 10))
        #On definit le texte a afficher lors du passage sur la fenetre
        self.setToolTip("Exemple de creation d'une <b>bulle</b> d'aide pour la fenetre")
        #Creation d'un bouton
        btn = QPushButton('Bouton', self)
        #On met en place une bulle d'aide
        btn.setToolTip("Voici un bouton inutile !")
        #On redefinit la taille sur le texte, ici on applique une taille recommandée
        btn.resize(btn.sizeHint())
        btn.move(50, 50)

        #Creation du bouton pour quitter la fenetre
        qbtn = QPushButton('Quit', self)
        #On connecte une action au clique
        qbtn.clicked.connect(QCoreApplication.instance().quit)
        #On met en place une bulle d'aide
        btn.setToolTip("Ce bouton sert à quitter la fenetre !")
        qbtn.resize(qbtn.sizeHint())
        #Positionnement du bouton
        qbtn.move(150, 150)

        #Definition des attributs de la fenetre
        self.setGeometry(300, 300, 300, 220)
        self.setWindowTitle('PC2')
        self.setWindowIcon(QIcon('PC2.png'))
示例#6
0
文件: __init__.py 项目: wxgeo/geophar
 def verifier_feuille(self, eq1, eq2):
     print(eq1, eq2)
     for nom, eq in (('d1', eq1), ('d2', eq2)):
         if nom in self.feuille_actuelle.objets.noms:
             d = self.feuille_actuelle.objets[nom]
             d.label(mode='nom')
             champ = self.feuille_actuelle.objets['champcache_' + nom]
             M, N = d
             M = (int(M.x), int(M.y))
             N = (int(N.x), int(N.y))
             if self.eq_reduite(M, N) == eq:
                 d.style(couleur='g')
                 champ.texte = 'ok'
                 msg = 'La droite %s est correcte.' % nom
                 if nom == 'd1':
                     msg += ' Construisez maintenant d2.'
             else:
                 print(self.eq_reduite(*d), eq)
                 d.style(couleur='r')
                 # On peut mettre n'importe quoi différent de ok dans
                 # champ, l'idée étant que si la droite est fausse mais
                 # n'a pas changé, on ne perde pas de point, et par
                 # contre on perde des points en cas de changement si
                 # c'est toujours faux.
                 champ.texte = str(d.equation)
                 msg = "Attention, la droite %s est fausse." % nom
             QToolTip.showText(QCursor.pos(), msg)
             self.canvas.message(msg, temporaire=False)
示例#7
0
 def mouseMoveEvent(self, event):
     cursor = self._neditor.cursorForPosition(event.pos())
     line = cursor.blockNumber()
     bookmarks = self._bookmark_manager.bookmarks(self._neditor.file_path)
     for book in bookmarks:
         if book.lineno == line and book.note:
             QToolTip.showText(self.mapToGlobal(event.pos()), book.note)
示例#8
0
 def moved(self, pos):
     with self.lock:
         fee_rate = self.config.dynfee(pos) if self.dyn else self.config.static_fee(pos)
         tooltip = self.get_tooltip(pos, fee_rate)
         QToolTip.showText(QCursor.pos(), tooltip, self)
         self.setToolTip(tooltip)
         self.callback(self.dyn, pos, fee_rate)
    def initUI(self):

        QToolTip.setFont(QFont('SansSerif', 10))

        btNewChecklist = QPushButton('Criar', self)
        btNewChecklist.clicked.connect(self.salvarChecklist)

        nomeLabel = QLabel('Nome')

        self._nome = QLineEdit()

        grid = QGridLayout()
        grid.setSpacing(10)

        grid.addWidget(nomeLabel, 1, 0)
        grid.addWidget(self._nome, 1, 1)

        grid.addWidget(btNewChecklist, 3, 1)

        self.setLayout(grid)

        self.setGeometry(300, 300, 350, 300)
        self.center()
        self.setWindowTitle('CheckList')
        self.show()
示例#10
0
 def event(self, ev):
     if ev.type() == QEvent.ToolTip:
         if self._showToolTips:
             c = self.charcodeAt(ev.pos())
             if c:
                 text = self.getToolTipText(c)
                 if text:
                     rect = self.charcodeRect(c)
                     QToolTip.showText(ev.globalPos(), text, self, rect)
                     ev.accept()
                     return True
     elif ev.type() == QEvent.QueryWhatsThis:
         if self._showWhatsThis:
             ev.accept()
             return True
     elif ev.type() == QEvent.WhatsThis:
         ev.accept()
         if self._showWhatsThis:
             c = self.charcodeAt(ev.pos())
             text = self.getWhatsThisText(c) if c else None
             if text:
                 QWhatsThis.showText(ev.globalPos(), text, self)
             else:
                 QWhatsThis.leaveWhatsThisMode()
         return True
     return super(CharMap, self).event(ev)
示例#11
0
 def mouseMoveEvent(self, event):
     super().mouseMoveEvent(event)
     # tooltip_position = event.globalPos() - QPoint(event.pos().x(), 0)
     from_line = self._neditor.first_visible_block().blockNumber() + 1
     to_line = self._neditor.last_visible_block().blockNumber()
     text = "<center>%d<br/>&#x2014;<br/>%d</center>"
     QToolTip.showText(self._tooltip_pos, text % (from_line, to_line))
示例#12
0
    def __init__(self,parent=None):
        QWidget.__init__(self, parent)

        self.setGeometry(300,300,250,150)
        self.setWindowTitle('Tooltip')
        self.setToolTip('This is a <b> QWidget </b>widget')
        QToolTip.setFont(QFont('oldEnglish',10))
示例#13
0
    def execute_queries(self, query=''):
        """ This function executes queries """

        # Hide tooltip if visible
        if QToolTip.isVisible():
            QToolTip.hideText()

        # If text is selected, then this text is the query,
        # otherwise the query is all text that has the editor
        editor_widget = self.currentWidget().get_editor()
        if editor_widget.textCursor().hasSelection():
            query = editor_widget.textCursor().selectedText()
        else:
            query = editor_widget.toPlainText()

        relations = self.currentWidget().relations
        central = Pireal.get_service("central")
        table_widget = central.get_active_db().table_widget

        # Restore
        relations.clear()
        self.currentWidget().clear_results()

        # Parse query
        sc = scanner.Scanner(query)
        lex = lexer.Lexer(sc)
        try:
            par = parser.Parser(lex)
            interpreter = parser.Interpreter(par)
            interpreter.clear()
            interpreter.to_python()
        except Exception as reason:
            pireal = Pireal.get_service("pireal")
            pireal.show_error_message(self.parse_error(reason.__str__()))
            return
        relations.update(table_widget.relations)
        for relation_name, expression in list(interpreter.SCOPE.items()):
            if relation_name in relations:
                QMessageBox.critical(self,
                                     self.tr("Query Error"),
                                     self.tr("<b>{}</b> is a duplicate "
                                             "relation name.<br><br> "
                                             "Please choose a unique name "
                                             "and re-execute the "
                                             "queries.".format(
                                                 relation_name)))
                del interpreter.SCOPE[relation_name]
                return
            try:
                new_relation = eval(expression, {}, relations)

            except Exception as reason:
                pireal = Pireal.get_service("pireal")
                pireal.show_error_message(self.parse_error(reason.__str__()),
                                          syntax_error=False)
                return

            relations[relation_name] = new_relation
            self.__add_table(new_relation, relation_name)
示例#14
0
 def mousePressEvent(self, event):
     super().mousePressEvent(event)
     if event.button() == Qt.LeftButton:
         self._tooltip_pos = event.globalPos() - QPoint(event.pos().x(), 0)
         from_line = self._neditor.first_visible_block().blockNumber() + 1
         to_line = self._neditor.last_visible_block().blockNumber()
         text = "<center>%d<br/>&#x2014;<br/>%d</center>"
         QToolTip.showText(self._tooltip_pos, text % (from_line, to_line))
示例#15
0
 def event(self, ev):
     if ev.type() == QEvent.ToolTip:
         text = self.defaultAction().text()
         key = self.key()
         if key:
             text = _("{name} ({key})").format(name=text, key=key)
         QToolTip.showText(ev.globalPos(), text)
         return True
     return super(Button, self).event(ev)
示例#16
0
    def mouseMoveEvent(self, event):
        blockNumber = self._qpart.cursorForPosition(event.pos()).blockNumber()
        if blockNumber in self._qpart._lintMarks:
            msgType, msgText = self._qpart._lintMarks[blockNumber]
            QToolTip.showText(event.globalPos(), msgText)
        else:
            QToolTip.hideText()

        return QWidget.mouseMoveEvent(self, event)
示例#17
0
    def initUI(self):
        QToolTip.setFont(QFont('SansSerif', 10))
        self.setToolTip('This is a <b>QWidget</b> widget.')
        #quitBtn = QPushButton('Quit', self)
        #quitBtn.clicked.connect(self.quitBtnEvent())
        #quitBtn.clicked.connect(QCoreApplication.instance().quit)
        #quitBtn.setToolTip('This is a <b>QPushButton</b> widget.')
        #quitBtn.resize(quitBtn.sizeHint())

        exitAction = QAction(QIcon('application-exit-4.png'), '&Exit', self)
        exitAction.setShortcut('Alt+F4')
        exitAction.setStatusTip('Exit Application')
        exitAction.triggered.connect(qApp.quit)

        menuBar = QMenuBar()
        fileMenu = menuBar.addMenu('&File')
        fileMenu.addAction(exitAction)
        fileMenu.resize(fileMenu.sizeHint())

        toolBar = QToolBar(self)
        toolBar.addAction(exitAction)
        #toolBar.resize(toolBar.sizeHint())
        toolBar.setFixedHeight(60)

        hozLine = QFrame()
        hozLine.setFrameStyle(QFrame.HLine)
        #hozLine.setSizePolicy(QSizePolicy.Minimum,QSizePolicy.Expanding)

        statusBar = QStatusBar(self)
        statusBar.showMessage('Ready')

        grid = QGridLayout()
        lbl_1 = QLabel('1,1')
        lbl_2 = QLabel('1,2')
        lbl_3 = QLabel('2,1')
        lbl_4 = QLabel('2,2')
        grid.addWidget(lbl_1, 1, 1)
        grid.addWidget(lbl_2, 1, 2)
        grid.addWidget(lbl_3, 2, 1)
        grid.addWidget(lbl_4, 2, 2)

        vbox = QVBoxLayout()
        vbox.addWidget(menuBar)
        vbox.addWidget(hozLine)
        vbox.addWidget(toolBar)
        # vbox.addWidget(hozLine)
        vbox.addLayout(grid)
        vbox.addStretch(1)
        vbox.addWidget(statusBar)

        self.setLayout(vbox)

        self.setGeometry(300, 300, 500, 500)
        self.setWindowTitle('Photos')
        self.setWindowIcon(QIcon('camera-photo-5.png'))
        self.center()
        self.show()
示例#18
0
 def event(self, e):
     action = self.activeAction()
     if e.type() == QEvent.ToolTip and \
         action                    and \
         action.toolTip() != action.text():
             QToolTip.showText(e.globalPos(),
                               self.activeAction().toolTip())
     else:
         QToolTip.hideText()
     return super(Menu, self).event(e)
示例#19
0
 def initUI(self):
     QToolTip.setFont(QFont('SansSerif', 10))
     self.setToolTip('This is my widget')
     btn = QPushButton('Push me', self)
     btn.setToolTip('This is a button')
     btn.resize(btn.sizeHint())
     btn.move(50, 50)
     self.setGeometry(300, 300, 300, 300)
     self.setWindowTitle('Tooltip test')
     self.show()
示例#20
0
 def linkHelpEvent(self, globalPos, page, link):
     """Called when a QHelpEvent occurs on a link.
     
     The default implementation shows a tooltip if showUrls() is True,
     and emits the linkHelpRequested() signal.
     
     """
     if self._showUrlTips and isinstance(link, popplerqt5.Poppler.LinkBrowse):
         QToolTip.showText(globalPos, link.url(), self, page.linkRect(link.linkArea()))
     self.linkHelpRequested.emit(globalPos, page, link)
示例#21
0
 def mouseMoveEvent(self, event):
     if not self.cross:
         mouse_x = event.pos().x()
         mouse_y = event.pos().y()
         self.mouse_pos = event.pos()
         if self.img != None:
             rgb = QColor(self.img.pixel(self.mouse_pos))
             text = "XY[" + str(mouse_x) + "," + str(mouse_y)+ "] RGB(" + str(rgb.red()) + "," + str(rgb.green()) + "," + str(rgb.blue()) + ")"
             QToolTip.showText(QPoint(QCursor.pos()), text)
         self.repaint()
示例#22
0
 def moved(self, pos):
     with self.lock:
         if self.dyn:
             fee_rate = self.config.depth_to_fee(pos) if self.config.use_mempool_fees() else self.config.eta_to_fee(pos)
         else:
             fee_rate = self.config.static_fee(pos)
         tooltip = self.get_tooltip(pos, fee_rate)
         QToolTip.showText(QCursor.pos(), tooltip, self)
         self.setToolTip(tooltip)
         self.callback(self.dyn, pos, fee_rate)
示例#23
0
 def initUI(self):
     QToolTip.setFont(QFont('SansSerif',10))
     self.setToolTip('This is a <b>widget</b>')
     btn=QPushButton('push',self)
     btn.setToolTip('press and push')
     btn.resize(btn.sizeHint())
     btn.move(40,50)
     self.setGeometry(200,300,400,500)
     self.setWindowTitle('setToolTip')
     self.show()
示例#24
0
 def mouseMoveEvent(self, event):
     if not self.__checkers:
         return
     line = self._editor.line_from_position(event.pos().y())
     for checker in self.__checkers:
         obj, _, _ = checker
         message = obj.message(line)
         if message is not None:
             # Formatting text
             text = "<div style='color: green'>Lint</div><hr>%s" % message
             QToolTip.showText(self.mapToGlobal(event.pos()), text, self)
示例#25
0
    def initUI(self):
        QToolTip.setFont(QFont('SanSerif', 10))
        self.setToolTip('This is a <b>QWidget</b> widget')
        btn = QPushButton('Button', self)
        btn.setToolTip('This is a <b>QPushButton</b> widget')
        btn.resize(btn.sizeHint())
        btn.move(50, 50)

        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle('Tooltips')
        self.show()
示例#26
0
    def initUI(self):
        """Draw the UI."""

        QToolTip.setFont(QFont('SansSerif', 12))

        grid = QGridLayout()
        self.setLayout(grid)

        lbl_source = QLabel('Source:', self)
        lbl_source.setAlignment(Qt.AlignCenter)

        lbl_destination = QLabel('Destination:', self)
        lbl_destination.setAlignment(Qt.AlignCenter)

        self.cmb_source = QComboBox(self)
        self.populate_cmb_source()
        self.cmb_source.activated.connect(self.source_activated)
        self.cmb_source.setToolTip("Select either a source USB device "
                                   "or a source 'nb' backup directory")

        self.cmb_destination = QComboBox(self)
        self.populate_cmb_destination()
        self.cmb_destination.activated.connect(self.destination_activated)
        self.cmb_destination.setToolTip('Select a destination USB device')

        self.lbl_status = QLabel('', self)
        self.lbl_status.setAlignment(Qt.AlignLeft)
        self.btn_copy = QPushButton('Copy', self)
#        self.btn_copy.setFixedWidth(80)
        self.btn_copy.setFixedWidth(self.btn_copy.width())
        self.btn_copy.clicked.connect(self.start_copy)
        self.btn_copy.setEnabled(False)

        hbox = QHBoxLayout()
        hbox.addWidget(self.lbl_status, Qt.AlignLeft)
        hbox.addStretch(1)
        hbox.addWidget(self.btn_copy, Qt.AlignRight)
        hbox.maximumSize()

        grid.addWidget(lbl_source, 0, 0, Qt.AlignRight)
        grid.addWidget(self.cmb_source, 0, 1)

        grid.addWidget(lbl_destination, 1, 0, Qt.AlignRight)
        grid.addWidget(self.cmb_destination, 1, 1)

        grid.addLayout(hbox, 2, 1)

        grid.setColumnStretch(0, 0)
        grid.setColumnStretch(1, 1)

        self.setWindowTitle('%s %s' % (ProgName, ProgVersion))
        self.setMinimumWidth(MinimumWidth)
        self.show()
        self.setFixedHeight(self.height())
示例#27
0
    def initUI(self):
        QToolTip.setFont(QFont('SansSerif', 40))
        self.setGeometry(300,250,360,400)
        self.setWindowTitle('Instructions')
        self.toshow = QTextBrowser(self)
        self.toshow.resize(270,300)
        self.toshow.move(30,20)
        self.toshow.setText('good')
        
#        self.toshow.setText('\n'.join(self.s))
        self.show()
示例#28
0
    def init_ui(self):
        QToolTip.setFont(QFont("SansSerif", 10))

        self.setToolTip("This is a <b>QWidget</b> widget")

        btn = QPushButton("ЙА КНОПКО!!!", self)
        btn.setToolTip("Это <b>КНОПКО</b>, причем даже на русском языке, " "запиленное 1го января 2016года")
        btn.resize(btn.sizeHint())
        btn.move(50, 50)

        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle("Тестовое приложенько")
        self.show()
示例#29
0
    def initUI(self):
        QToolTip.setFont(QFont('SansSerif', 10))
        self.setToolTip('This is a widget')

        btn = QPushButton('Button', self)
        btn.setToolTip('This is a button')
        btn.resize(btn.sizeHint())
        btn.move(50, 50)


        self.setGeometry(700, 300, 500, 200)
        self.setWindowTitle('Lilya\'s first widget')
        self.show()
示例#30
0
 def initUI(self):
     hbox = QHBoxLayout(self)
     pixmap = QPixmap('owi_robot_hand_2.2.png')
     lbl =  QLabel(self)
     lbl.setPixmap(pixmap)
     hbox.addWidget(lbl)
     self.setLayout(hbox)
     QToolTip.setFont(QFont('SansSerif',14))
     self.setToolTip('')
     self.setGeometry(300, 300,1280, 720)
     self.setWindowTitle('Owi Robot Hand Controler _v4')
     self.setWindowIcon(QIcon('python.png'))
     self.show()
    def initUI(self):
        QToolTip.setFont(QFont('SansSerif', 12))
        # self.setToolTip('This is a <b>QWidget</b> widget')
        self.setGeometry(300, 300, 650, 450)
        self.setWindowTitle('验证码识别app')

        self.step = 0

        self.pic_path = ''
        self.model_path = ''
        self.pic_path_pro = ''
        self.img = None
        self.img_name = None

        choose_model = QLabel('选择模型')
        choose_pic_label = QLabel('选择图片')
        show_process_pic_label = QLabel('处理图片')
        show_res_label = QLabel('预测结果')
        self.show_model_path = QLineEdit()
        self.show_model_path.setStyleSheet("border:2px solid black;")

        self.show_pic = QLabel('')
        self.show_pic.setStyleSheet("border:2px solid black;")

        self.show_pro_pic = QLabel('')
        self.show_pro_pic.setStyleSheet("border:2px solid black;")

        self.show_res_text = QLineEdit()
        self.show_res_text.setStyleSheet("border:2px solid black;")
        grid = QGridLayout()
        grid.setSpacing(30)

        grid.addWidget(choose_model, 1, 0)
        grid.addWidget(self.show_model_path, 1, 1)
        grid.addWidget(choose_pic_label, 2, 0)
        grid.addWidget(self.show_pic, 2, 1)
        grid.addWidget(show_process_pic_label, 3, 0)
        grid.addWidget(self.show_pro_pic, 3, 1)
        grid.addWidget(show_res_label, 4, 0)
        grid.addWidget(self.show_res_text, 4, 1)

        self.choose_model_btn = QPushButton('打开', self)
        self.choose_model_btn.setObjectName("pushButton")
        self.choose_model_btn.clicked.connect(self.openfile_model)
        grid.addWidget(self.choose_model_btn, 1, 2)

        self.choose_pic_btn = QPushButton('打开', self)
        self.choose_pic_btn.setObjectName("pushButton")
        self.choose_pic_btn.clicked.connect(self.openfile_pic)
        grid.addWidget(self.choose_pic_btn, 2, 2)

        self.choose_pic_btn = QPushButton('处理', self)
        self.choose_pic_btn.setObjectName("pushButton")
        self.choose_pic_btn.clicked.connect(self.process_pic)
        self.choose_pic_btn.clicked.connect(self.show_pic_after_pro)
        grid.addWidget(self.choose_pic_btn, 3, 2)

        self.show_res_btn = QPushButton('预测', self)
        self.choose_pic_btn.setObjectName("pushButton")
        self.choose_pic_btn.clicked.connect(self.show_pre_res)
        grid.addWidget(self.show_res_btn, 4, 2)

        self.setLayout(grid)
        self.show()
示例#32
0
 def on_copy(self):
     self.app.clipboard().setText(self.text())
     QToolTip.showText(QCursor.pos(), _("Text copied to clipboard"), self)
示例#33
0
    def __init__(self, imgdirpath, pritxt, correcttxt):
        super().__init__()
        # 获得图片的名字列表和根路径
        self.imgdirpath = imgdirpath
        self.root, self.imgpaths = self.walkimgfile()  # 调用这个方法并获得返回值
        # 获取所有的label
        with open(pritxt, 'r', encoding='utf-8')as ft:
            lines = ft.readlines()
        self.lines = lines
        self.geshu = 0
        self.correcttxt = correcttxt

        self.count = 1  # 用于判断执行了几次
        self.startornot = 0   # 用于判断是否开始


        QToolTip.setFont(QFont('SansSerif', 10))  # 静态方法设置一个用于提示的字体,这里使用10px大小的字体
        self.setToolTip('This is a <b>QWidget</b> widget')  # 创建一个提示,可以使用丰富的文本格式

        # next按钮控件
        startbtn = QPushButton('启动')   # 点击'开始'后才能开始操作
        startbtn.clicked.connect(self.startButton)
        nextbtn = QPushButton('下一张')  # 点击'开始'后才能开始操作
        nextbtn.clicked.connect(self.nextButton)
        # 设置布局,将按钮放在底部的水平布局中
        hbox = QHBoxLayout()   # 水平布局
        hbox.addWidget(startbtn)
        hbox.addWidget(nextbtn)

        # 文本框控件,用于计数
        self.numbertext = QLabel('完成数量', self)
        self.numbertext.setText('无')  # 默认完成了0个
        self.numbertext.setAlignment(Qt.AlignCenter)
        self.cartext = QLabel('车牌号', self)
        self.cartext.setText('无')  # 默认完成了0个
        self.cartext.setAlignment(Qt.AlignCenter)

        self.line_edit = QLineEdit(self)
        self.label = QLabel(self)
        self.line_edit.textChanged.connect(self.label.setText)

        self.labelvbox = QVBoxLayout()
        self.labelvbox.addWidget(self.numbertext, 0, Qt.AlignCenter)
        self.labelvbox.addWidget(self.cartext, 0, Qt.AlignCenter)
        self.labelvbox.addWidget(self.line_edit)

        # 图片格式转换
        path = "QLabel{border-image: url(" + "./background.jpg" + ");}"#./0_419900100337029842_1_118_K5_0_0_0.jpg'
        self.label11 = QLabel(self)
        self.label11.setToolTip('文本标签')
        self.label11.setStyleSheet(path)#path = "QLabel{border-image: url(./0_419900100337029842_1_118_K5_0_0_0.jpg);}"
        self.label11.setFixedWidth(256)
        self.label11.setFixedHeight(48)
        self.imgvbox = QVBoxLayout()  # 这个小的布局用于存放图片
        self.imgvbox.addWidget(self.label11, 0, Qt.AlignCenter)

        self.vbox = QVBoxLayout()   # 竖直布局
        self.vbox.addLayout(self.imgvbox)
        self.vbox.addLayout(self.labelvbox)

        # self.vbox.addStretch(1)     # 首先在竖直方向上插入留白空间
        self.vbox.addLayout(hbox)   # 插入上面的水平空间
        self.setLayout(self.vbox)   # 将竖直布局加入整体布局中

        # 窗口显示设置
        self.setGeometry(300, 300, 300, 150)  # 设置窗口的位置和大小
        self.setWindowTitle('数据处理器')  # 设置窗口的标题
        self.show()  # 显示窗口
示例#34
0
 def show_tooltip(self, text, position, duration=1000 * 60):
     QToolTip.showText(position, text, self, self.rect(), duration)
示例#35
0
 def initUI(self):
     QToolTip.setFont(QFont('SansSerif', 10))  #设置去泡提示的字体和字号
     self.setToolTip('<b style="color:red">这是一个气泡提示</b>')  #创建提示语句
     self.setWindowTitle('气泡提示的Demo')
 def _on_click_copy_tx_id(self) -> None:
     app_state.app.clipboard().setText(self._tx_hash)
     QToolTip.showText(QCursor.pos(),
                       _("Transaction ID copied to clipboard"), self)
示例#37
0
 def hoverLeaveEvent(self, event):
     self.pen = QPen(QColor(0, 0, 0, 255))
     QToolTip.hideText()
     self.update()
     if self.terrain_type & cCommonGame.MapData.CLOUD_FRIENDLY:
         self.update_timer.start(self.UPDATE_INTERVAL_IN_MS)
示例#38
0
 def linkHovered(self, link):
     if link:
         QToolTip.showText(QCursor.pos(), Ref.tooltip(link))
 def initUi(self):
     QToolTip.setFont(QFont("SansSerif", 10))
     self.setToolTip("这是一个<b>气泡提示</b>")
     self.setGeometry(200, 300, 400, 400)
     self.setWindowTitle("会有气泡提示")
示例#40
0
    def cb_mouse_motion(self, event):
        """
        Callback to process a mouse movement event.

        If the group selection option is enabled, then any points with
        Y-coordinate less than the cursor's Y-coordinate will be marked in a
        different opacity level, but not highlighted. If the user clicks with
        the mouse, then the points will be highlighted, but this event is
        processed in another method.

        This method also processes tooltip-related events when the group
        selection is disabled. If the user hovers the mouse cursor over a data
        point, then the name associated to that point will be shown in a
        tooltip.

        Parameters
        ----------
        event: matplotlib.backend_bases.MouseEvent
            Data about the event.
        """
        # We remove the horizonal line here (if any), regardless of the mouse
        # cursor position. We also restore the lines colors.
        if self._hthresh_line:
            for i, l in enumerate(self.axes.lines):
                if l == self._hthresh_line:
                    del self.axes.lines[i]
                    break
            self._hthresh_line = None

            for i, line in enumerate(self.axes.lines):
                if self._is_normal_curve_idx(i):
                    line.set_color(self._curves_colors[i])

        if self._ts_line:
            for i, l in enumerate(self.axes.lines):
                if l == self._ts_line:
                    del self.axes.lines[i]
                    break

        # Restoring the lines' widths.
        if self._plotted_series:
            for art in self._plotted_series:
                if not art:
                    continue
                art[0].set_linewidth(self._plot_params['linewidth'])

        self.draw()

        if event.xdata is None or event.ydata is None or self._rank_series is None:
            return True

        self._ts_line = self.axes.axvline(x=event.xdata, c='b', ls='--')

        # If the group selection is enabled, we show a preview of all curves
        # that will be highlighted should the user click the mouse button.
        if self.group_selection_enabled:
            ts = int(event.xdata - self.time_range[0] + 0.5)
            if self.rank_inverted:
                for i, series in enumerate(self._rank_series):
                    if series[ts] < event.ydata and self._is_normal_curve_idx(
                            i):
                        self.axes.lines[i].set_color(cm.gray(200))
            else:
                for i, series in enumerate(self._rank_series):
                    if series[ts] > event.ydata and self._is_normal_curve_idx(
                            i):
                        self.axes.lines[i].set_color(cm.gray(200))

            self._hthresh_line = self.axes.axhline(y=event.ydata,
                                                   c='b',
                                                   linewidth=2)
        else:
            hover_idx = None
            for i, art in enumerate(self._plotted_series):
                if not art:
                    continue
                contains, _ = art[0].contains(event)
                if contains:
                    art[0].set_linewidth(self._plot_params['linewidth'] * 2)
                    if not self.curvenames or i > len(self.curvenames):
                        return False
                    hover_idx = i
                    break

            if hover_idx is not None:
                palette = QPalette()
                palette.setColor(QPalette.ToolTipBase, QColor(252, 243, 207))
                palette.setColor(QPalette.ToolTipText, QColor(0, 0, 0))
                QToolTip.setPalette(palette)
                QToolTip.setFont(QFont('Arial', 14, QFont.Bold))
                pos = self.mapToGlobal(QPoint(event.x,
                                              self.height() - event.y))
                QToolTip.showText(pos, '{}'.format(self.curvenames[hover_idx]))
            else:
                QToolTip.hideText()
                self.update()

            if self._cb_notify_tooltip:
                self._cb_notify_tooltip(self.name, hover_idx)

        self.draw()
示例#41
0
 def doTooltip(self, pos, message):
     QToolTip.showText(self.mapToGlobal(pos), message)
示例#42
0
 def _sliderLineHeightChanged(self, value):
     QToolTip.showText(QCursor.pos(), str(value / 100), self)
示例#43
0
文件: gui.py 项目: nmanzini/dbt
    def initUI(self):
        QToolTip.setFont(QFont('SansSerif', 10))

        # Separator definition
        self.separator = QFrame()
        self.separator.setFrameStyle(QFrame.HLine)

        # SUBREDDIT AREA --------------------------------------------------------------
        self.subreddit_label = QLabel('Subreddit(s)')
        self.subreddit_input = QLineEdit('EarthPorn+wallpapers')
        self.subreddit_download = QPushButton('Download')
        self.subreddit_download.setToolTip(
            'Click here to download the <b>subreddit</b> images to your pc')
        self.subreddit_input.setToolTip(
            'Write the <b>subreddit</b> you want to download from. Concatenate with a +'
        )

        # button action
        self.subreddit_download.clicked.connect(
            lambda: download(self.subreddit_input.text()))

        # Vertical Layout for the subreddit part
        vl_subreddit = QVBoxLayout()
        vl_subreddit.addWidget(self.subreddit_label)
        vl_subreddit.addWidget(self.subreddit_input)
        vl_subreddit.addWidget(self.subreddit_download)

        # PERIOD AREA------------------------------------------------------------------
        self.period = 2

        self.period_label = QLabel('Change image every ' + str(self.period) +
                                   ' seconds.')

        self.period_slider = QSlider(Qt.Horizontal)
        self.period_slider.setMinimum(1)
        self.period_slider.setMaximum(60)
        self.period_slider.setTickPosition(10)
        self.period_slider.setTickInterval(20)
        self.period_slider.setValue(self.period)
        self.period_slider.setToolTip(
            'Time that pass between a background to the next')

        self.period_set = QPushButton('Set')

        # control if slider changes value
        self.period_slider.valueChanged.connect(self.v_change)

        self.period_set.clicked.connect(self.set_background, 2)

        # Vertical Layout for the period part
        vl_period = QVBoxLayout()
        vl_period.addWidget(self.period_label)
        vl_period.addWidget(self.period_slider)
        vl_period.addWidget(self.period_set)

        # BOTTOM IMAGE AREA-------------------------------------------------------------
        self.logo = QLabel()
        self.logo.setPixmap(QPixmap('icon.png'))
        self.logo.setGeometry(50, 50, 50, 50)

        # MAIN LAYOUT ------------------------------------------------------------------
        vl_main = QVBoxLayout()
        vl_main.addLayout(vl_subreddit)
        vl_main.addWidget(self.separator)
        vl_main.addLayout(vl_period)
        vl_main.addStretch(1)
        vl_main.addWidget(self.logo)

        self.setLayout(vl_main)

        self.show()
示例#44
0
 def hoverLeaveEvent(self, event):
     self.pens[self.ship_info.type].setWidth(1)
     QToolTip.hideText()
     self.update()
示例#45
0
 def hoverLeaveEvent(self, event: 'QGraphicsSceneHoverEvent') -> None:
     self.setOpacity(0.001)
     QToolTip.hideText()
     super(WGPromptCircle, self).hoverLeaveEvent(event)
示例#46
0
 def show_msg(self, text, timeout=1500):
     QToolTip.showText(self.mapToGlobal(QPoint(0, 0)), text, self,
                       self.rect(), timeout)
示例#47
0
    def paintEvent(self, evt):
        """
        Protected method handling paint events.
        
        @param evt paint event (QPaintEvent)
        """
        if self.__grabbing:  # grabWindow() should just get the background
            return

        painter = QPainter(self)
        pal = QPalette(QToolTip.palette())
        font = QToolTip.font()

        handleColor = pal.color(QPalette.Active, QPalette.Highlight)
        handleColor.setAlpha(160)
        overlayColor = QColor(0, 0, 0, 160)
        textColor = pal.color(QPalette.Active, QPalette.Text)
        textBackgroundColor = pal.color(QPalette.Active, QPalette.Base)
        painter.drawPixmap(0, 0, self.__pixmap)
        painter.setFont(font)

        r = QRect(self.__selection)
        if not self.__selection.isNull():
            grey = QRegion(self.rect())
            if self.__mode == SnapshotRegionGrabber.Ellipse:
                reg = QRegion(r, QRegion.Ellipse)
            else:
                reg = QRegion(r)
            grey = grey.subtracted(reg)
            painter.setClipRegion(grey)
            painter.setPen(Qt.NoPen)
            painter.setBrush(overlayColor)
            painter.drawRect(self.rect())
            painter.setClipRect(self.rect())
            drawRect(painter, r, handleColor)

        if self.__showHelp:
            painter.setPen(textColor)
            painter.setBrush(textBackgroundColor)
            self.__helpTextRect = painter.boundingRect(
                self.rect().adjusted(2, 2, -2, -2), Qt.TextWordWrap,
                self.__helpText).translated(-self.__desktop.x(),
                                            -self.__desktop.y())
            self.__helpTextRect.adjust(-2, -2, 4, 2)
            drawRect(painter, self.__helpTextRect, textColor,
                     textBackgroundColor)
            painter.drawText(self.__helpTextRect.adjusted(3, 3, -3, -3),
                             Qt.TextWordWrap, self.__helpText)

        if self.__selection.isNull():
            return

        # The grabbed region is everything which is covered by the drawn
        # rectangles (border included). This means that there is no 0px
        # selection, since a 0px wide rectangle will always be drawn as a line.
        txt = "{0:n}, {1:n} ({2:n} x {3:n})".format(self.__selection.x(),
                                                    self.__selection.y(),
                                                    self.__selection.width(),
                                                    self.__selection.height())
        textRect = painter.boundingRect(self.rect(), Qt.AlignLeft, txt)
        boundingRect = textRect.adjusted(-4, 0, 0, 0)

        if textRect.width() < r.width() - 2 * self.__handleSize and \
           textRect.height() < r.height() - 2 * self.__handleSize and \
           r.width() > 100 and \
           r.height() > 100:
            # center, unsuitable for small selections
            boundingRect.moveCenter(r.center())
            textRect.moveCenter(r.center())
        elif r.y() - 3 > textRect.height() and \
                r.x() + textRect.width() < self.rect().width():
            # on top, left aligned
            boundingRect.moveBottomLeft(QPoint(r.x(), r.y() - 3))
            textRect.moveBottomLeft(QPoint(r.x() + 2, r.y() - 3))
        elif r.x() - 3 > textRect.width():
            # left, top aligned
            boundingRect.moveTopRight(QPoint(r.x() - 3, r.y()))
            textRect.moveTopRight(QPoint(r.x() - 5, r.y()))
        elif r.bottom() + 3 + textRect.height() < self.rect().bottom() and \
                r.right() > textRect.width():
            # at bottom, right aligned
            boundingRect.moveTopRight(QPoint(r.right(), r.bottom() + 3))
            textRect.moveTopRight(QPoint(r.right() - 2, r.bottom() + 3))
        elif r.right() + textRect.width() + 3 < self.rect().width():
            # right, bottom aligned
            boundingRect.moveBottomLeft(QPoint(r.right() + 3, r.bottom()))
            textRect.moveBottomLeft(QPoint(r.right() + 5, r.bottom()))

        # If the above didn't catch it, you are running on a very
        # tiny screen...
        drawRect(painter, boundingRect, textColor, textBackgroundColor)
        painter.drawText(textRect, Qt.AlignHCenter, txt)

        if (r.height() > self.__handleSize * 2 and
            r.width() > self.__handleSize * 2) or \
           not self.__mouseDown:
            self.__updateHandles()
            painter.setPen(Qt.NoPen)
            painter.setBrush(handleColor)
            painter.setClipRegion(
                self.__handleMask(SnapshotRegionGrabber.StrokeMask))
            painter.drawRect(self.rect())
            handleColor.setAlpha(60)
            painter.setBrush(handleColor)
            painter.setClipRegion(
                self.__handleMask(SnapshotRegionGrabber.FillMask))
            painter.drawRect(self.rect())
示例#48
0
 def moved(self, pos):
     fee_rate = self.config.static_fee(pos)
     tooltip = self.get_tooltip(pos, fee_rate)
     QToolTip.showText(QCursor.pos(), tooltip, self)
     self.setToolTip(tooltip)
     self.callback(self.dyn, pos, fee_rate)
示例#49
0
 def hide_tooltip(self):
     QToolTip.hideText()
示例#50
0
    def init(self):
        r"""Initializes the GUI."""
        # initialize timer
        self.timer = QtCore.QTimer(self)

        # properties
        QToolTip.setFont(QtGui.QFont('SansSerif', 10))

        # Central Widget
        self.gui_widget = QWidget(self)
        self.setCentralWidget(self.gui_widget)

        # Panels (group boxes)
        self.grp_profile = QGroupBox('Profile')
        self.grp_consump = QGroupBox('Consumption')
        self.grp_plotter = QWidget()

        # Layouts
        layout_gui = QHBoxLayout(self.gui_widget)
        layout_profile = QGridLayout(self.grp_profile)
        layout_consump = QFormLayout(self.grp_consump)
        layout_plotter = QVBoxLayout(self.grp_plotter)

        # Labels
        lbl_profile = QLabel('Profile:')
        lbl_height = QLabel('Height:')
        lbl_weight = QLabel('Weight:')
        lbl_age = QLabel('Age:')
        lbl_bmi = QLabel('BMI:')
        lbl_gender = QLabel('Gender:')

        lbl_hr1 = QLabel('Hour 1:')
        lbl_hr2 = QLabel('Hour 2:')
        lbl_hr3 = QLabel('Hour 3:')
        lbl_hr4 = QLabel('Hour 4:')
        lbl_hr5 = QLabel('Hour 5:')
        lbl_hr6 = QLabel('Hour 6:')

        lbl_drink = QLabel(
            'One Drink is:\n1 oz of 100 proof\n5 oz of wine\n12 oz of regular beer'
        )

        # Fields
        self.popup_profile = QComboBox()
        profiles = self.initialize_profiles()
        for this_profile in profiles:
            self.popup_profile.addItem(this_profile)
        self.popup_profile.setCurrentIndex(0)
        self.popup_profile.activated.connect(self.onActivated)

        self.lne_height = QLineEdit('')
        self.lne_weight = QLineEdit('')
        self.lne_age = QLineEdit('')
        self.lne_bmi = QLineEdit('')

        self.radio_gender = QWidget()
        layout_gender = QHBoxLayout(self.radio_gender)
        self.radio_fmal = QRadioButton('Female')
        self.radio_fmal.setChecked(True)
        self.radio_fmal.toggled.connect(self.radio_toggle)
        self.radio_male = QRadioButton('Male')
        self.radio_male.toggled.connect(self.radio_toggle)
        layout_gender.addWidget(self.radio_fmal)
        layout_gender.addWidget(self.radio_male)

        self.lne_hr1 = QLineEdit('')
        self.lne_hr2 = QLineEdit('')
        self.lne_hr3 = QLineEdit('')
        self.lne_hr4 = QLineEdit('')
        self.lne_hr5 = QLineEdit('')
        self.lne_hr6 = QLineEdit('')

        lnes = [
            getattr(self, 'lne_' + field)
            for field in self.gui_settings.get_text_fields()
        ]
        for this_lne in lnes:
            this_lne.setAlignment(QtCore.Qt.AlignCenter)
            this_lne.editingFinished.connect(self.text_finished)

        # Buttons - Save Profile button
        self.btn_save = QPushButton('Save Profile')
        self.btn_save.setToolTip('Saves the current profile to disk.')
        self.btn_save.setMaximumWidth(120)
        self.btn_save.setStyleSheet(
            'color: black; background-color: #00bfbf; font: bold;')
        self.btn_save.clicked.connect(self.btn_save_function)
        # Buttons - Plot button
        self.btn_plot = QPushButton('Plot')
        self.btn_plot.setToolTip(
            'Plots the BAC over time with the given information.')
        self.btn_plot.setMaximumWidth(200)
        self.btn_plot.setStyleSheet(
            'color: black; background-color: #009900; font: bold;')
        self.btn_plot.clicked.connect(self.btn_plot_function)

        # Populate widgets - profile
        layout_profile.addWidget(lbl_profile, 0, 0)
        layout_profile.addWidget(lbl_height, 1, 0)
        layout_profile.addWidget(lbl_weight, 2, 0)
        layout_profile.addWidget(lbl_age, 3, 0)
        layout_profile.addWidget(lbl_bmi, 4, 0)
        layout_profile.addWidget(lbl_gender, 5, 0)
        layout_profile.addWidget(self.popup_profile, 0, 1)
        layout_profile.addWidget(self.lne_height, 1, 1)
        layout_profile.addWidget(self.lne_weight, 2, 1)
        layout_profile.addWidget(self.lne_age, 3, 1)
        layout_profile.addWidget(self.lne_bmi, 4, 1)
        layout_profile.addWidget(self.radio_gender, 5, 1)
        layout_profile.addWidget(self.btn_save, 6, 0, 1, 2,
                                 QtCore.Qt.AlignCenter)

        # Populate widgets - consumption
        layout_consump.addRow(lbl_hr1, self.lne_hr1)
        layout_consump.addRow(lbl_hr2, self.lne_hr2)
        layout_consump.addRow(lbl_hr3, self.lne_hr3)
        layout_consump.addRow(lbl_hr4, self.lne_hr4)
        layout_consump.addRow(lbl_hr5, self.lne_hr5)
        layout_consump.addRow(lbl_hr6, self.lne_hr6)

        # Populate widgets - plotter
        layout_plotter.addWidget(lbl_drink)
        layout_plotter.addWidget(self.btn_plot)

        # Populate widgets - main GUI
        layout_gui.addWidget(self.grp_profile)
        layout_gui.addWidget(self.grp_consump)
        layout_gui.addWidget(self.grp_plotter)

        # Call wrapper to initialize GUI
        self.wrapper()

        # GUI final layout properties
        self.center()
        self.setWindowTitle('BAC GUI')
        self.setWindowIcon(
            QtGui.QIcon(os.path.join(get_root_dir(), 'bac_gui.png')))
        self.show()
示例#51
0
    def initWindow(self):
        QToolTip.setFont(QFont('SansSerif', 10))
        # main layout
        self.frameWidget = QWidget()
        mainWidget = QSplitter(Qt.Horizontal)
        self.frameLayout = QVBoxLayout()
        self.settingWidget = QWidget()
        settingLayout = QVBoxLayout()
        self.settingWidget.setProperty("class","settingWidget")
        mainLayout = QVBoxLayout()
        self.settingWidget.setLayout(settingLayout)
        mainLayout.addWidget(self.settingWidget)
        mainLayout.setStretch(0,2)
        menuLayout = QHBoxLayout()
        
        self.progressHint = QLabel()
        self.progressHint.hide()

        self.progressbarRootWidget = QWidget()
        progressbarLayout = QVBoxLayout()
        self.progressbarRootWidget.setProperty("class","progressbarWidget")
        self.progressbarRootWidget.setLayout(progressbarLayout)
        
        self.downloadWidget = QWidget()
        downloadLayout = QVBoxLayout()
        self.downloadWidget.setProperty("class","downloadWidget")
        self.downloadWidget.setLayout(downloadLayout)

        mainWidget.setLayout(mainLayout)
        # menu
        # -----
        # settings and others
        # -----
        # progress bar
        # -----
        # download button
        # -----
        # status bar
        self.frameLayout.addLayout(menuLayout)
        self.frameLayout.addWidget(mainWidget)
        self.frameLayout.addWidget(self.progressHint)
        self.frameLayout.addWidget(self.progressbarRootWidget)
        self.frameLayout.addWidget(self.downloadWidget)
        self.frameWidget.setLayout(self.frameLayout)
        self.setCentralWidget(self.frameWidget)
        self.setFrameStrentch(1)

        # option layout
        self.langButton = QPushButton()
        self.skinButton = QPushButton()
        self.aboutButton = QPushButton()
        self.langButton.setProperty("class", "menuItemLang")
        self.skinButton.setProperty("class", "menuItem2")
        self.aboutButton.setProperty("class", "menuItem3")
        self.langButton.setObjectName("menuItem")
        self.skinButton.setObjectName("menuItem")
        self.aboutButton.setObjectName("menuItem")
        menuLayout.addWidget(self.langButton)
        menuLayout.addWidget(self.skinButton)
        menuLayout.addWidget(self.aboutButton)
        menuLayout.addStretch(0)
        
        # widgets file select
        self.fileSelectGroupBox = QGroupBox(tr("SelectFile"))
        # container
        settingLayout.addWidget(self.fileSelectGroupBox)
        self.fileSelectContainerLayout = QVBoxLayout()
        self.fileSelectGroupBox.setLayout(self.fileSelectContainerLayout)
        # file selection
        self.fileSelecWidget = QWidget()
        self.fileSelectLayout = QVBoxLayout()
        self.fileSelecWidget.setLayout(self.fileSelectLayout)
        self.fileSelectContainerLayout.addWidget(self.fileSelecWidget)
        
        # add file selection item
        self.addFileSelectionItem()
        
        # add fileselection functions
        mergeBinWidget = QWidget()
        mergeBinWidgetLayout = QHBoxLayout()
        mergeBinWidget.setLayout(mergeBinWidgetLayout)
        self.addFileButton = QPushButton(tr("Add File"))
        self.packFilesButton = QPushButton(tr("Pack to kfpkg"))
        self.mergeBinButton = QPushButton(tr("Merge to .bin"))
        mergeBinWidgetLayout.addWidget(self.addFileButton)
        mergeBinWidgetLayout.addWidget(self.packFilesButton)
        mergeBinWidgetLayout.addWidget(self.mergeBinButton)
        self.fileSelectContainerLayout.addWidget(mergeBinWidget)

        # widgets board select
        boardSettingsGroupBox = QGroupBox(tr("BoardSettings"))
        settingLayout.addWidget(boardSettingsGroupBox)
        boardSettingsLayout = QGridLayout()
        boardSettingsGroupBox.setLayout(boardSettingsLayout)
        self.boardLabel = QLabel(tr("Board"))
        self.boardCombobox = ComboBox()
        self.boardCombobox.addItem(parameters.SipeedMaixDock)
        self.boardCombobox.addItem(parameters.SipeedMaixBit)
        self.boardCombobox.addItem(parameters.SipeedMaixBitMic)
        self.boardCombobox.addItem(parameters.SipeedMaixduino)
        self.boardCombobox.addItem(parameters.SipeedMaixGo)
        self.boardCombobox.addItem(parameters.SipeedMaixGoD)
        self.boardCombobox.addItem(parameters.M5StickV)
        self.boardCombobox.addItem(parameters.KendryteKd233)
        self.boardCombobox.addItem(parameters.kendryteTrainer)
        self.boardCombobox.addItem(parameters.BananapiRbxy)
        self.boardCombobox.addItem(parameters.Auto)
        self.burnPositionLabel = QLabel(tr("BurnTo"))
        self.burnPositionCombobox = ComboBox()
        self.burnPositionCombobox.addItem(tr("Flash"))
        self.burnPositionCombobox.addItem(tr("SRAM"))
        boardSettingsLayout.addWidget(self.boardLabel, 0, 0)
        boardSettingsLayout.addWidget(self.boardCombobox, 0, 1)
        boardSettingsLayout.addWidget(self.burnPositionLabel, 1, 0)
        boardSettingsLayout.addWidget(self.burnPositionCombobox, 1, 1)

        # widgets serial settings
        serialSettingsGroupBox = QGroupBox(tr("SerialSettings"))
        serialSettingsLayout = QGridLayout()
        serialPortLabek = QLabel(tr("SerialPort"))
        serailBaudrateLabel = QLabel(tr("SerialBaudrate"))
        slowModeLabel = QLabel(tr("Speed mode"))
        self.serialPortCombobox = ComboBox()
        self.serailBaudrateCombobox = ComboBox()
        self.serailBaudrateCombobox.addItem("115200")
        self.serailBaudrateCombobox.addItem("921600")
        self.serailBaudrateCombobox.addItem("1500000")
        self.serailBaudrateCombobox.addItem("2000000")
        self.serailBaudrateCombobox.addItem("3500000")
        self.serailBaudrateCombobox.addItem("4000000")
        self.serailBaudrateCombobox.addItem("4500000")
        self.serailBaudrateCombobox.setCurrentIndex(1)
        self.serailBaudrateCombobox.setEditable(True)
        self.slowModeCombobox = ComboBox()
        self.slowModeCombobox.addItem(tr("Slow mode"))
        self.slowModeCombobox.addItem(tr("Fast mode"))
        slowModeLabel.setToolTip(tr("slow mode tips"))
        self.slowModeCombobox.setToolTip(tr("slow mode tips"))
        
        serialSettingsLayout.addWidget(serialPortLabek,0,0)
        serialSettingsLayout.addWidget(serailBaudrateLabel, 1, 0)
        serialSettingsLayout.addWidget(slowModeLabel, 2, 0)
        serialSettingsLayout.addWidget(self.serialPortCombobox, 0, 1)
        serialSettingsLayout.addWidget(self.serailBaudrateCombobox, 1, 1)
        serialSettingsLayout.addWidget(self.slowModeCombobox, 2, 1)
        serialSettingsGroupBox.setLayout(serialSettingsLayout)
        settingLayout.addWidget(serialSettingsGroupBox)

        # set stretch
        settingLayout.setStretch(0,1)
        settingLayout.setStretch(1,1)
        settingLayout.setStretch(2,2)

        # widgets progress bar
        
        self.progressbar = QProgressBar(self.progressbarRootWidget)
        self.progressbar.setValue(0)
        self.progressbarRootWidget.hide()

        # widgets download area
        self.downloadButton = QPushButton(tr("Download"))
        downloadLayout.addWidget(self.downloadButton)

        # main window
        self.statusBarStauts = QLabel()
        self.statusBarStauts.setMinimumWidth(80)
        self.statusBarStauts.setText("<font color=%s>%s</font>" %("#1aac2d", tr("DownloadHint")))
        self.statusBar().addWidget(self.statusBarStauts)

        self.setWindowSize()
        self.MoveToCenter()
        self.setWindowTitle(parameters.appName+" V"+str(helpAbout.versionMajor)+"."+str(helpAbout.versionMinor))
        icon = QIcon()
        print("icon path:"+self.DataPath+"/"+parameters.appIcon)
        icon.addPixmap(QPixmap(self.DataPath+"/"+parameters.appIcon), QIcon.Normal, QIcon.Off)
        self.setWindowIcon(icon)
        if sys.platform == "win32":
            ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(parameters.appName)
        
        self.show()
        self.progressbar.setGeometry(10, 0, self.downloadWidget.width()-25, 40)
        print("config file path:", parameters.configFilePath)
示例#52
0
    def tab1_layout(self):
        self.le_cta_id = QLineEdit()
        self.le_bs_id = QLineEdit()
        self.le_delay_time = QLineEdit()
        self.btn_nts_login = QPushButton("로그인")
        self.btn_nts_set = QPushButton()
        hbox_nts_btn = QHBoxLayout()
        hbox_nts_btn.addWidget(self.btn_nts_login)
        hbox_nts_btn.addWidget(self.btn_nts_set)
        # QIcon width
        self.btn_nts_set.setIcon(QIcon('data/set.ico'))
        self.btn_nts_set.setFixedWidth(30)

        # 입력제한 http://bitly.kr/wmonM2
        reg_ex = QRegExp("[0-9]+.?[0-9]{,2}")
        input_validator = QRegExpValidator(reg_ex, self.le_delay_time)
        # double_validator = QDoubleValidator(-999.0, 999.0, 2)   ### http://bitly.kr/wmonM2
        self.le_delay_time.setValidator(input_validator)  # double_validator)
        self.le_delay_time.setMaxLength(3)
        # 가로 조정
        self.le_cta_id.setFixedWidth(90)

        flo1 = QFormLayout()
        flo1.addRow("CTA No", self.le_cta_id)
        flo1.addRow("부서ID", self.le_bs_id)
        flo1.addRow("delay", self.le_delay_time)
        flo1.addRow(hbox_nts_btn)

        gbox1 = QGroupBox("HomeTax Login")
        # web id pw
        gbox2 = QGroupBox('Website Login')

        flo2 = QFormLayout()
        self.web_gubun_cb = QComboBox()
        # 가로 조정
        self.web_gubun_cb.setFixedWidth(65)
        self.web_cb = QComboBox()
        # self.web_cb.addItems(['Naver','Hanbiro','bizforms','etaxkorea','TheBill'])
        hbox_web_gubun = QHBoxLayout()
        hbox_web_gubun.addWidget(self.web_gubun_cb)
        hbox_web_gubun.addWidget(self.web_cb)

        self.web_id_cb = QComboBox()

        self.web_id_cb.addItems([])

        self.web_id = QLineEdit()
        self.web_pw = QLineEdit()
        hbox_idpw = QHBoxLayout()
        hbox_idpw.addWidget(self.web_id)
        hbox_idpw.addWidget(self.web_pw)

        self.btn_web_login = QPushButton("로그인(save)")
        self.btn_web_set = QPushButton()
        hbox_web_btn = QHBoxLayout()
        hbox_web_btn.addWidget(self.btn_web_login)
        hbox_web_btn.addWidget(self.btn_web_set)
        # QIcon width
        self.btn_web_set.setIcon(QIcon('data/set.ico'))
        self.btn_web_set.setFixedWidth(30)
        # Echomode
        # self.web_pw.setEchoMode(QLineEdit.PasswordEchoOnEdit)
        # Style
        self.btn_nts_login.setStyleSheet(
            """QPushButton { background-color: #ffff00; color: blue; font: bold }"""
        )
        self.btn_web_login.setStyleSheet(
            """QPushButton { background-color: #7cd3ff; color: blue; font: bold }"""
        )

        # pyinstaller image err solution
        self.btn_nts_set.setStyleSheet(
            """QPushButton { border-image: url(:data/set.ico); width:20px; height:20px }"""
        )  # ; width:30px; height:30px
        self.btn_web_set.setStyleSheet(
            """QPushButton { border-image: url(:data/set.ico); width:20px; height:20px }"""
        )

        QToolTip.setFont(QFont('SansSerif', 10))
        self.web_id.setToolTip("<h3>ID 입력</h3>")
        self.web_pw.setToolTip("<h3>Password 입력</h3>")
        self.btn_nts_set.setToolTip("<h3>HomeTax 설정</h3>")
        self.btn_web_set.setToolTip("<h3>Web 설정</h3>")

        flo2.addRow(hbox_web_gubun)
        flo2.addRow("ID select", self.web_id_cb)
        flo2.addRow(hbox_idpw)
        flo2.addRow(hbox_web_btn)

        gbox1.setLayout(flo1)
        gbox2.setLayout(flo2)

        hbox = QHBoxLayout()
        hbox.addWidget(gbox1)
        hbox.addWidget(gbox2)

        return hbox
示例#53
0
    def init(self):
        r"""Initializes the GUI."""
        #%% properties
        QToolTip.setFont(QtGui.QFont('SansSerif', 10))

        # Central Widget
        self.gui_widget = QWidget(self)
        self.setCentralWidget(self.gui_widget)

        # Panels
        self.grp_score = QWidget()
        self.grp_move = QWidget()
        self.grp_buttons = QWidget()
        self.grp_board = QWidget()
        self.grp_main = QWidget()

        #%% Layouts
        layout_gui = QVBoxLayout(self.gui_widget)
        layout_main = QHBoxLayout(self.grp_main)
        layout_board = QVBoxLayout(self.grp_board)
        layout_buttons = QHBoxLayout(self.grp_buttons)
        layout_score = QGridLayout(self.grp_score)
        layout_move = QVBoxLayout(self.grp_move)

        for layout in [
                layout_gui, layout_main, layout_board, layout_buttons,
                layout_score, layout_move
        ]:
            layout.setAlignment(QtCore.Qt.AlignCenter)

        #%% Text
        # Tic Tac Toe
        lbl_tictactoe = QLabel('Tic Tac Toe')
        lbl_tictactoe.setStyleSheet('font-size: 18pt; font: bold;')
        lbl_tictactoe.setMinimumWidth(220)
        # Score
        lbl_score = QLabel('Score:')
        lbl_score.setStyleSheet('font-size: 12pt; font: bold;')
        lbl_score.setMinimumWidth(220)
        # Move
        lbl_move = QLabel('Move:')
        lbl_move.setStyleSheet('font-size: 12pt; font: bold;')
        lbl_move.setMinimumWidth(220)
        # O Wins
        lbl_o = QLabel('O Wins:')
        lbl_o.setMinimumWidth(80)
        # X Wins
        lbl_x = QLabel('X Wins:')
        lbl_x.setMinimumWidth(80)
        # Games Tied
        lbl_games = QLabel('Games Tied:')
        lbl_games.setMinimumWidth(80)

        for label in [
                lbl_tictactoe, lbl_score, lbl_move, lbl_o, lbl_x, lbl_games
        ]:
            label.setAlignment(QtCore.Qt.AlignCenter)

        # Changeable labels
        self.lbl_o_wins = QLabel('0')
        self.lbl_x_wins = QLabel('0')
        self.lbl_games_tied = QLabel('0')

        for label in [self.lbl_o_wins, self.lbl_x_wins, self.lbl_games_tied]:
            label.setAlignment(QtCore.Qt.AlignRight)
            label.setMinimumWidth(60)

        #%% Axes
        # board
        fig = Figure(figsize=(4.2, 4.2), dpi=100, frameon=False)
        self.board_canvas = FigureCanvas(fig)
        self.board_canvas.mpl_connect(
            'button_release_event',
            lambda event: self.mouse_click_callback(event))
        self.board_canvas.setMinimumSize(420, 420)
        self.board_axes = Axes(fig, [0., 0., 1., 1.])
        self.board_axes.invert_yaxis()
        fig.add_axes(self.board_axes)

        # current move
        fig = Figure(figsize=(1.05, 1.05), dpi=100, frameon=False)
        self.move_canvas = FigureCanvas(fig)
        self.move_canvas.setMinimumSize(105, 105)
        self.move_axes = Axes(fig, [0., 0., 1., 1.])
        self.move_axes.set_xlim(-SIZES['square'] / 2, SIZES['square'] / 2)
        self.move_axes.set_ylim(-SIZES['square'] / 2, SIZES['square'] / 2)
        self.move_axes.set_axis_off()
        fig.add_axes(self.move_axes)

        #%% Buttons
        # Undo button
        self.btn_undo = QPushButton('Undo')
        self.btn_undo.setToolTip('Undoes the last move.')
        self.btn_undo.setMinimumSize(60, 30)
        self.btn_undo.setStyleSheet(
            'color: yellow; background-color: #990000; font: bold;')
        self.btn_undo.clicked.connect(self.btn_undo_function)
        # New Game button
        self.btn_new = QPushButton('New Game')
        self.btn_new.setToolTip('Starts a new game.')
        self.btn_new.setMinimumSize(60, 50)
        self.btn_new.setStyleSheet(
            'color: yellow; background-color: #006633; font: bold;')
        self.btn_new.clicked.connect(self.btn_new_function)
        # Redo button
        self.btn_redo = QPushButton('Redo')
        self.btn_redo.setToolTip('Redoes the last move.')
        self.btn_redo.setMinimumSize(60, 30)
        self.btn_redo.setStyleSheet(
            'color: yellow; background-color: #000099; font: bold;')
        self.btn_redo.clicked.connect(self.btn_redo_function)

        for btn in [self.btn_undo, self.btn_new, self.btn_redo]:
            not_resize = btn.sizePolicy()
            not_resize.setRetainSizeWhenHidden(True)
            btn.setSizePolicy(not_resize)

        #%% Populate Widgets
        # score
        layout_score.addWidget(lbl_score, 0, 0, 1, 2)
        layout_score.addWidget(lbl_o, 1, 0)
        layout_score.addWidget(self.lbl_o_wins, 1, 1)
        layout_score.addWidget(lbl_x, 2, 0)
        layout_score.addWidget(self.lbl_x_wins, 2, 1)
        layout_score.addWidget(lbl_games, 3, 0)
        layout_score.addWidget(self.lbl_games_tied)

        # move
        layout_move.addWidget(lbl_move)
        layout_move.addWidget(self.move_canvas)

        # buttons
        layout_buttons.addWidget(self.btn_undo)
        layout_buttons.addWidget(self.btn_new)
        layout_buttons.addWidget(self.btn_redo)

        # board
        layout_board.addWidget(self.board_canvas)
        layout_board.addWidget(self.grp_buttons)

        # main
        layout_main.addWidget(self.grp_score)
        layout_main.addWidget(self.grp_board)
        layout_main.addWidget(self.grp_move)

        # main GUI
        layout_gui.addWidget(lbl_tictactoe)
        layout_gui.addWidget(self.grp_main)

        #%% File Menu
        # actions - new game
        act_new_game = QAction('New Game', self)
        act_new_game.setShortcut('Ctrl+N')
        act_new_game.setStatusTip('Starts a new game.')
        act_new_game.triggered.connect(self.act_new_game_func)
        # actions - options
        act_options = QAction('Options', self)
        act_options.setShortcut('Ctrl+O')
        act_options.setStatusTip('Opens the advanced option settings.')
        act_options.triggered.connect(self.act_options_func)
        # actions - quit game
        act_quit = QAction('Exit', self)
        act_quit.setShortcut('Ctrl+Q')
        act_quit.setStatusTip('Exits the application.')
        act_quit.triggered.connect(self.close)

        # menubar
        self.statusBar()
        menu_bar = self.menuBar()
        file_menu = menu_bar.addMenu('&File')
        file_menu.addAction(act_new_game)
        file_menu.addAction(act_options)
        file_menu.addAction(act_quit)

        #%% Finalization
        # Call wrapper to initialize GUI
        self.wrapper()

        # GUI final layout properties
        self.center()
        self.setWindowTitle('Tic Tac Toe')
        self.setWindowIcon(
            QtGui.QIcon(os.path.join(get_images_dir(), 'tictactoe.png')))
        self.show()
示例#54
0
    def initUI(self):

        layout = QVBoxLayout()

        QToolTip.setFont(QFont('SansSerif', 10))

        self.setToolTip('This is a <b>QWidget</b> widget')

        self.model = QStringListModel()
        self.model.setStringList(['some', 'words', 'in', 'my', 'dictionary'])

        self.completer = QCompleter()
        self.completer.setModel(self.model)

        self.lineedit = QLineEdit(self)
        self.lineedit.setCompleter(self.completer)
        self.lineedit.setGeometry(50, 50, 250, 30)

        self.search = QPushButton('Search', self)
        self.search.resize(self.search.sizeHint())
        self.search.setGeometry(270, 50, 50, 30)
        layout.addWidget(self.search)

        self.add = QPushButton('ADD', self)
        self.add.resize(self.add.sizeHint())
        self.add.setGeometry(500, 50, 50, 30)
        layout.addWidget(self.add)

        self.label = QLabel(self)
        self.label.setPixmap(QPixmap('web.png'))
        self.label.setGeometry(400, 120, 250, 250)
        layout.addWidget(self.label)

        self.name = QLabel("Name", self)
        self.name.move(620, 120)
        layout.addWidget(self.name)
        self.nameedit = QLineEdit(self)
        self.nameedit.setGeometry(700, 120, 150, 30)
        layout.addWidget(self.nameedit)

        self.group = QLabel("Group", self)
        self.group.move(620, 170)
        layout.addWidget(self.group)
        self.groupedit = QLineEdit(self)
        self.groupedit.setGeometry(700, 170, 150, 30)
        layout.addWidget(self.groupedit)

        self.bio = QPushButton('Bio', self)
        self.bio.resize(self.bio.sizeHint())
        self.bio.move(620, 260)
        layout.addWidget(self.bio)

        self.network = QPushButton('Network ID', self)
        self.network.resize(self.network.sizeHint())
        self.network.move(620, 300)
        layout.addWidget(self.network)

        self.notes = QPushButton('Notes', self)
        self.notes.resize(self.notes.sizeHint())
        self.notes.move(620, 340)
        layout.addWidget(self.notes)

        self.operations = QPushButton('Operations', self)
        self.operations.resize(self.operations.sizeHint())
        self.operations.move(450, 400)
        layout.addWidget(self.operations)

        self.calls = QPushButton('Calls', self)
        self.calls.resize(self.calls.sizeHint())
        self.calls.move(450, 480)
        layout.addWidget(self.calls)

        self.sms = QPushButton('Sms', self)
        self.sms.resize(self.sms.sizeHint())
        self.sms.move(450, 550)
        layout.addWidget(self.sms)

        self.qbtn = QPushButton('Quit', self)
        self.qbtn.clicked.connect(QCoreApplication.instance().quit)
        self.qbtn.resize(self.qbtn.sizeHint())
        self.qbtn.move(50, 550)
        layout.addWidget(self.qbtn)

        self.statusBar().setStyleSheet(
            "QStatusBar{padding-left:8px;background:rgb(11, 181, 255);color:white;font-weight:bold;}"
        )
        self.statusBar()

        self.resize(950, 650)
        self.center()

        # self.setLayout(layout)
        self.setWindowTitle('Target')
        self.setWindowIcon(QIcon('web.png'))

        self.show()
示例#55
0
    def __init__(self):
        super().__init__()

        # ->> Tooltip preferences
        QToolTip.setFont(QFont("SansSerif", 10))

        # ->> Centering
        monitor_resolution = QDesktopWidget().screenGeometry()
        widget_size = QSize(1280, 720)
        padding_point = QPoint(
            monitor_resolution.center().x() - widget_size.width() / 2,
            monitor_resolution.center().y() - widget_size.height() / 2)
        self.setGeometry(QRect(padding_point, widget_size))

        # ->> Windows meta
        self.setWindowTitle("Foo Application")
        self.setWindowIcon(QIcon(r"resources/enak.jpg"))

        # ->> Buttons
        # btn = QPushButton(QIcon(r"C:\Users\\Pictures\x-png-15.png"), "Quit", self)
        # btn.setToolTip("button tooltip")
        # btn.move(widget_size.width() - 100, 30)
        # btn.resize(btn.sizeHint())
        # btn.clicked.connect(self.teardown)

        # ->> Status Bar
        self.statusBar().showMessage("hey Ron")

        # ->> Menu Bar
        bar = self.menuBar()
        bar.setNativeMenuBar(False)

        menu_file = bar.addMenu("&파일")
        menu_help = bar.addMenu("&도움말")

        # # ->> Actions: File
        action_new_project = QAction("프로젝트 생성", self)
        action_new_project.setShortcut("CTRL+SHIFT+N")
        action_new_project.setStatusTip("Create new project")
        menu_file.addAction(action_new_project)

        action_open_project = QAction("프로젝트 열기", self)
        action_open_project.setShortcut("CTRL+SHIFT+O")
        action_open_project.setStatusTip("Open project")
        menu_file.addAction(action_open_project)

        menu_file.addSeparator()

        action_exit = QAction("Exit", self)
        action_exit.setShortcut("CTRL+Q")
        action_exit.setStatusTip("Exit application")
        action_exit.triggered.connect(self.teardown)
        menu_file.addAction(action_exit)

        # # ->> Actions: Help
        action_help_program_info = QAction("프로그램 정보", self)
        action_help_program_info.setStatusTip("프로그램의 정보를 확인합니다.")
        action_help_program_info.triggered.connect(lambda: help.UIProgramInfo().showModal())
        menu_help.addAction(action_help_program_info)

        # ->> Layouts
        # # ->> Left menu
        # # # ->> Project info
        label_project_indi = QLabel("현재 프로젝트")
        label_project_name = QLabel("> Foo project.sweatproject")

        left_project_info = QVBoxLayout()
        left_project_info.addWidget(label_project_indi)
        left_project_info.addWidget(label_project_name)

        # # # ->> Scroll
        label_scroll_desc = QLabel("등록된 감시 폴더 경로")
        left_scroll = QScrollArea()
        scroll_widget = QWidget()
        scroll_grid = QVBoxLayout(scroll_widget)

        left_scroll.setMaximumWidth(230)
        scroll_grid.setAlignment(QtCore.Qt.AlignTop)
        left_scroll.setWidgetResizable(True)

        for n in range(40):
            content = QLabel("Content {}".format(n + 1))
            content.mousePressEvent = functools.partial(self.file_path_label_clicked, content)
            scroll_grid.addWidget(content)

        left_scroll.setWidget(scroll_widget)

        left_bottom = QVBoxLayout()
        left_bottom.addWidget(label_scroll_desc)
        left_bottom.addWidget(left_scroll)

        left_menu_layout = QVBoxLayout()
        left_menu_layout.addLayout(left_project_info)
        left_menu_layout.addWidget(QLabel(""))  # Spacer
        left_menu_layout.addLayout(left_bottom)

        left_menu = QWidget()
        left_menu.setLayout(left_menu_layout)
        left_menu.setMaximumWidth(230)

        # # -> Right menu
        # # # ->> Directory info
        self.label_directory_name = QLabel()
        font = self.label_directory_name.font()
        font.setPointSize(13)
        font.setBold(True)
        font.setWeight(75)
        self.label_directory_name.setFont(font)
        self.label_directory_name.setText("Directory name here")

        right_menu_layout = QVBoxLayout()
        right_menu_layout.setAlignment(QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop)
        right_menu_layout.addWidget(self.label_directory_name)

        right_menu = QWidget()
        right_menu.setLayout(right_menu_layout)

        layout = QHBoxLayout()
        layout.setAlignment(QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop)
        layout.addWidget(left_menu)
        layout.addWidget(right_menu)

        central = QWidget(self)
        central.setLayout(layout)
        self.setCentralWidget(central)
示例#56
0
    def create_rows(self):
        QToolTip.setFont(QtGui.QFont('Calibri', 9))

        for param in self.params:
            self.data = pd.read_excel(self.path, sheet_name=param)
            self.data['Parameter'] = param
            val = self.make_level_dict(self.data)

            self.tw = TreeWidget()
            self.param_tabs.addTab(self.tw, param)
            self.param_tabs.setCurrentIndex(self.params.index(param))
            self.param_tabs.setTabEnabled(self.params.index(param), True)

            for key, value in val.items():
                # textEdit_0 = AdjusttableTextEdit()  # key[1][1] - комментарий к key[1][0]
                # textEdit_0.setText(value[0])
                # textEdit_0.setReadOnly(True)
                font_0 = QtGui.QFont()
                font_0.setBold(True)
                self.item_0 = QtWidgets.QTreeWidgetItem(self.tw)
                self.item_0.setFont(0, font_0)
                self.item_0.setBackground(0, QtGui.QColor("#dcdcdc"))
                self.item_0.setText(0, f'Уровень {key}')
                self.item_0.setBackground(1, QtGui.QColor("#dcdcdc"))
                text = self.word_wrap(value[0], 95)
                self.item_0.setText(1, text)

                # self.tw.setItemWidget(self.item_0, 1, textEdit_0)
                # x = '<nobr>' + key[1][1][:80] + '</nobr>' + key[1][1][80:]
                #
                # item_0.setToolTip(1, x)
                # textEdit_0.td_size_sig.connect(lambda size: self.item_0.setSizeHint(1, size))
                # self.tw.expandAll()

                for v in value[1:]:
                    self.combo_task = QtWidgets.QComboBox()
                    self.combo_task.addItems(['Да', 'Нет', 'Не применимо'])
                    self.combo_task.setFixedSize(110, 20)
                    # textEdit_1 = AdjusttableTextEdit()
                    # textEdit_1.setText(v[0])
                    # textEdit_1.setReadOnly(True)
                    self.item_1 = QtWidgets.QTreeWidgetItem(
                        self.item_0, ["", ""])
                    if v[2] == 0:
                        self.combo_task.setCurrentText('Нет')
                    elif v[2] == 1:
                        self.combo_task.setCurrentText('Да')
                    else:
                        self.combo_task.setCurrentText('Не применимо')

                    self.tw.setItemWidget(self.item_1, 0, self.combo_task)
                    # self.tw.setItemWidget(self.item_1, 1, textEdit_1)
                    # textEdit_1.td_size_sig.connect(lambda size: self.item_1.setSizeHint(1, size))
                    text_style = '''background-color: #fce6e6;
                                    border: 0;
                                    font-size: 13px;
                                    color: #000;
                                    '''
                    # textEdit_0.setStyleSheet(text_style)
                    # textEdit_1.setStyleSheet(text_style)
                    text = self.word_wrap(v[0], 95)
                    self.item_1.setText(1, text)
                    self.item_1.setBackground(0, QtGui.QColor('#f5f5f5'))
            self.save_data = self.save_data.append(self.data)
        self.param_tabs.setCurrentIndex(0)
示例#57
0
    def initUI(self):
        self.initDone = False
        QToolTip.setFont(QFont('SansSerif', 10))
        self.setToolTip('This is a <b>QWidget</b> widget')
        '''
        self.widgetList = QListWidget()
        self.widgetList.insertItem(0, 'device cmd')
        self.widgetList.insertItem(1, 'compile cmd')

        self.layoutHead = QHBoxLayout()
        self.layoutHead.addWidget(self.widgetList)

        self.widgetHead = QFrame()
        self.widgetHead.setLayout(self.layoutHead)
        '''
        #HEAD part
        self.btnIndex1 = QPushButton('&ADB CMD', self)
        self.btnIndex1.setToolTip('Show adb command')
        self.btnIndex1.setChecked(True)
        #self.btnIndex1.toggle()
        self.btnIndex1.clicked.connect(
            lambda: self.onBtnClicked(self.btnIndex1))

        #self.btnIndex1.resize(self.btnIndex1.sizeHint())
        #self.btnIndex1.move(0, 0)

        self.btnIndex2 = QPushButton('&COM CMD', self)
        self.btnIndex2.setToolTip('Show  complie command')
        self.btnIndex1.setChecked(True)
        #self.btnIndex2.resize(self.btnIndex2.sizeHint())
        self.btnIndex2.clicked.connect(
            lambda: self.onBtnClicked(self.btnIndex2))

        self.layoutHead = QHBoxLayout()

        self.layoutHead.addStretch(1)
        self.layoutHead.addWidget(self.btnIndex1)
        self.layoutHead.addStretch(1)
        self.layoutHead.addWidget(self.btnIndex2)
        self.layoutHead.addStretch(30)

        self.widgetHead = QFrame()
        self.widgetHead.setLayout(self.layoutHead)

        #BODY part
        #BODY LEFT
        '''
        self.btnCDM1 = QPushButton('CMD1_INDEX1', self)
        self.btnCDM1.resize(self.btnCDM1.sizeHint())
        self.btnCDM1.clicked.connect(lambda: self.onBtnClicked(self.btnCDM1))


        self.btnCDM2 = QPushButton('CMD2_INDEX1', self)
        self.btnCDM2.resize(self.btnCDM2.sizeHint())
        self.btnCDM2.clicked.connect(lambda: self.onBtnClicked(self.btnCDM2))
        '''
        self.widgetListBodyLeftIndex1 = QListWidget()
        self.widgetListBodyLeftIndex1.insertItem(0, 'index1 cmd1')
        self.widgetListBodyLeftIndex1.insertItem(1, 'index1 cmd2')
        self.widgetListBodyLeftIndex1.setFixedWidth(120)
        self.widgetListBodyLeftIndex1.itemDoubleClicked.connect(
            lambda: self.excuteCMD(1, self.widgetListBodyLeftIndex1.currentRow(
            )))

        self.widgetListBodyLeftIndex2 = QListWidget()
        self.widgetListBodyLeftIndex2.insertItem(0, 'index2 cmd1')
        self.widgetListBodyLeftIndex2.insertItem(1, 'index2 cmd2')
        self.widgetListBodyLeftIndex2.setFixedWidth(120)
        self.widgetListBodyLeftIndex2.itemDoubleClicked.connect(
            lambda: self.excuteCMD(2, self.widgetListBodyLeftIndex2.currentRow(
            )))

        self.widgetBodyLeftLayout = QStackedLayout()
        self.widgetBodyLeftLayout.addWidget(self.widgetListBodyLeftIndex1)
        self.widgetBodyLeftLayout.addWidget(self.widgetListBodyLeftIndex2)

        self.widgetBodyLeft = QFrame()
        self.widgetBodyLeft.setLayout(self.widgetBodyLeftLayout)

        #BODY MID
        self.textBodyMid = QTextEdit()
        self.textBodyMid.setPlainText("This text1")

        self.widgetBodyMidLayout = QVBoxLayout()
        self.widgetBodyMidLayout.addWidget(self.textBodyMid)

        self.widgetBodyMid = QFrame()
        self.widgetBodyMid.setLayout(self.widgetBodyMidLayout)

        #BODY RIGHT
        self.textBodyRight = QTextEdit()
        self.textBodyRight.setPlainText("This text2")

        self.widgetBodyRightLayout = QVBoxLayout()
        self.widgetBodyRightLayout.addWidget(self.textBodyRight)

        self.widgetBodyRight = QFrame()
        self.widgetBodyRight.setLayout(self.widgetBodyRightLayout)

        #BODY ROOT
        self.layoutBody = QHBoxLayout()
        self.layoutBody.addWidget(self.widgetBodyLeft)
        self.layoutBody.addWidget(self.widgetBodyMid)
        self.layoutBody.addWidget(self.widgetBodyRight)

        self.widgetBody = QFrame()
        self.widgetBody.setLayout(self.layoutBody)

        #root
        self.layoutRoot = QVBoxLayout()
        self.layoutRoot.addWidget(self.widgetHead)
        self.layoutRoot.addWidget(self.widgetBody)
        self.setLayout(self.layoutRoot)

        self.setGeometry(1200, 300, 800, 600)
        self.setWindowTitle('MyTool')
        self.initDone = True
        self.show()
示例#58
0
    def initUI(self):

        QToolTip.setFont(QFont('SansSerif', 10))

        encipher_btn = QPushButton('Encipher', self)
        encipher_btn.setToolTip('Enciphers the message.')

        decipher_btn = QPushButton('Decipher', self)
        decipher_btn.setToolTip('Deciphers the message.')

        encipher_btn.clicked.connect(self.encipher)
        decipher_btn.clicked.connect(self.decipher)

        hbox = QHBoxLayout()
        hbox.addStretch(1)
        hbox.addWidget(encipher_btn)
        hbox.addWidget(decipher_btn)

        vbox = QVBoxLayout()
        vbox.addStretch(1)
        vbox.addLayout(hbox)

        self.setLayout(vbox)

        ceasar = QRadioButton('Ceasar Cipher', self)
        ceasar.move(20, 100)
        self.combo_box = QComboBox(self)
        self.combo_box.addItem('Key')
        for i in range(1, 26):
            self.combo_box.addItem(str(i))
        self.combo_box.resize(45, 20)
        self.combo_box.move(40, 125)
        ceasar.setChecked(True)

        vigenere = QRadioButton('Vigenere Cipher', self)
        vigenere.move(130, 100)
        self.vigenere_key = QLineEdit(self)
        self.vigenere_key.resize(100, 20)
        self.vigenere_key.move(150, 125)
        self.vigenere_key.setPlaceholderText('Key')

        playfair = QRadioButton('Playfair Cipher', self)
        playfair.move(290, 100)
        self.playfair_key = QLineEdit(self)
        self.playfair_key.resize(100, 20)
        self.playfair_key.move(310, 125)
        self.playfair_key.setPlaceholderText('Key')

        railfence = QRadioButton('Railfence Cipher', self)
        railfence.move(450, 100)
        self.railfence_rows = QLineEdit(self)
        self.railfence_rows.setValidator(QIntValidator())
        self.railfence_rows.resize(100, 20)
        self.railfence_rows.move(470, 125)
        self.railfence_rows.setPlaceholderText('Rows')

        self.radio_group = QButtonGroup()
        self.radio_group.addButton(ceasar)
        self.radio_group.addButton(vigenere)
        self.radio_group.addButton(playfair)
        self.radio_group.addButton(railfence)

        self.message_edit = QTextEdit(self)
        self.message_edit.setPlaceholderText('Message here')
        self.message_edit.zoomIn(3)
        self.message_edit.resize(580, 80)
        self.message_edit.move(10, 10)

        self.log = QTextEdit(self)
        self.log.setToolTip('Ctrl + scroll to zoom in and out')
        self.log.setFontFamily('Consolas')
        self.log.setPlainText('Console')
        self.log.setStyleSheet(
            'background-color: rgb(12, 12, 12); color: rgb(204, 204, 204);')
        self.log.zoomIn(3)
        self.log.setReadOnly(True)
        self.log.resize(580, 400)
        self.log.move(10, 160)

        self.setGeometry(600, 600, 600, 600)
        self.setFixedSize(self.size())
        self.setWindowTitle(app_name)
        self.setWindowIcon(QIcon(icon))
        self.center()

        self.show()
示例#59
0
文件: ide.py 项目: opt9/ninja-ide
    def __init__(self, start_server=False):
        QMainWindow.__init__(self)
        self.setWindowTitle('NINJA-IDE {Ninja-IDE Is Not Just Another IDE}')
        self.setMinimumSize(750, 500)
        QToolTip.setFont(QFont(settings.FONT.family(), 10))
        # Load the size and the position of the main window
        self.load_window_geometry()
        # self.__project_to_open = 0

        # Editables
        self.__neditables = {}
        # Filesystem
        self.filesystem = nfilesystem.NVirtualFileSystem()

        # Sessions handler
        self._session = None
        # Opacity
        self.opacity = settings.MAX_OPACITY

        # ToolBar
        self.toolbar = QToolBar(self)
        if settings.IS_MAC_OS:
            self.toolbar.setIconSize(QSize(36, 36))
        else:
            self.toolbar.setIconSize(QSize(24, 24))
        self.toolbar.setToolTip(translations.TR_IDE_TOOLBAR_TOOLTIP)
        self.toolbar.setToolButtonStyle(Qt.ToolButtonIconOnly)
        # Set toggleViewAction text and tooltip
        self.toggleView = self.toolbar.toggleViewAction()
        self.toggleView.setText(translations.TR_TOOLBAR_VISIBILITY)
        self.toggleView.setToolTip(translations.TR_TOOLBAR_VISIBILITY)
        self.addToolBar(settings.TOOLBAR_AREA, self.toolbar)
        if settings.HIDE_TOOLBAR:
            self.toolbar.hide()
        # Notificator
        self.notification = notification.Notification(self)

        # Plugin Manager
        # CHECK ACTIVATE PLUGINS SETTING
        # services = {
        #    'editor': plugin_services.MainService(),
        #    'toolbar': plugin_services.ToolbarService(self.toolbar),
        #    'menuApp': plugin_services.MenuAppService(self.pluginsMenu),
        #    'menuApp': plugin_services.MenuAppService(None),
        #    'explorer': plugin_services.ExplorerService(),
        #    'misc': plugin_services.MiscContainerService(self.misc)}
        # serviceLocator = plugin_manager.ServiceLocator(services)
        # serviceLocator = plugin_manager.ServiceLocator(None)
        # self.plugin_manager = plugin_manager.PluginManager(resources.PLUGINS,
        #                                                   serviceLocator)
        # self.plugin_manager.discover()
        # load all plugins!
        # self.plugin_manager.load_all()

        # Tray Icon
        # self.trayIcon = updates.TrayIconUpdates(self)
        # self.trayIcon.closeTrayIcon.connect(self._close_tray_icon)
        # self.trayIcon.show()

        # TODO:
        # key = Qt.Key_1
        # for i in range(10):
        #    if settings.IS_MAC_OS:
        #        short = ui_tools.TabShortcuts(
        #            QKeySequence(Qt.CTRL + Qt.ALT + key), self, i)
        #    else:
        #        short = ui_tools.TabShortcuts(
        #            QKeySequence(Qt.ALT + key), self, i)
        #    key += 1
        #    short.activated.connect(self._change_tab_index)
        # short = ui_tools.TabShortcuts(
        #       QKeySequence(Qt.ALT + Qt.Key_0), self, 10)
        # short.activated.connect(self._change_tab_index)

        # Register menu categories
        IDE.register_bar_category(translations.TR_MENU_FILE, 100)
        IDE.register_bar_category(translations.TR_MENU_EDIT, 110)
        IDE.register_bar_category(translations.TR_MENU_VIEW, 120)
        IDE.register_bar_category(translations.TR_MENU_SOURCE, 130)
        IDE.register_bar_category(translations.TR_MENU_PROJECT, 140)
        IDE.register_bar_category(translations.TR_MENU_EXTENSIONS, 150)
        IDE.register_bar_category(translations.TR_MENU_ABOUT, 160)
        # Register General Menu Items
        ui_tools.install_shortcuts(self, actions.ACTIONS_GENERAL, self)

        self.register_service('ide', self)
        self.register_service('toolbar', self.toolbar)
        self.register_service('filesystem', self.filesystem)
        # Register signals connections
        connections = ({
            "target": "main_container",
            "signal_name": "fileSaved",
            "slot": self.show_message
        }, {
            "target": "main_container",
            "signal_name": "currentEditorChanged",
            "slot": self.change_window_title
        }, {
            "target": "main_container",
            "signal_name": "openPreferences",
            "slot": self.show_preferences
        }, {
            "target": "main_container",
            "signal_name": "currentEditorChanged",
            "slot": self._change_item_in_project
        }, {
            "target": "main_container",
            "signal_name": "allFilesClosed",
            "slot": self.change_window_title
        }, {
            "target": "projects_explorer",
            "signal_name": "activeProjectChanged",
            "slot": self.change_window_title
        })
        self.register_signals('ide', connections)
        # connections = (
        #    {'target': 'main_container',
        #     'signal_name': 'openPreferences()',
        #     'slot': self.show_preferences},
        #    {'target': 'main_container',
        #     'signal_name': 'allTabsClosed()',
        #     'slot': self._last_tab_closed},
        #    {'target': 'explorer_container',
        #     'signal_name': 'changeWindowTitle(QString)',
        #     'slot': self.change_window_title},
        #    {'target': 'explorer_container',
        #     'signal_name': 'projectClosed(QString)',
        #     'slot': self.close_project},
        #    )
        # Central Widget MUST always exists
        self.central = IDE.get_service('central_container')
        self.setCentralWidget(self.central)
        # Install Services
        for service_name in self.__IDESERVICES:
            self.install_service(service_name)
        IDE.__created = True
        # Place Status Bar
        main_container = IDE.get_service('main_container')
        status_bar = IDE.get_service('status_bar')
        main_container.add_status_bar(status_bar)
        # Load Menu Bar
        menu_bar = IDE.get_service('menu_bar')
        if menu_bar:
            # These two are the same service, I think that's ok
            menu_bar.load_menu(self)
            menu_bar.load_toolbar(self)

        # Start server if needed
        self.s_listener = None
        if start_server:
            self.s_listener = QLocalServer()
            self.s_listener.listen("ninja-ide")
            self.s_listener.newConnection.connect(self._process_connection)

        IDE.__instance = self
示例#60
0
 def initUI(self):
     QToolTip.setFont(QFont('SansSerif', 10))
     self.setToolTip("这是一个<b>气泡提示</b>")
     self.setGeometry(200, 300, 400, 400)
     self.setWindowIcon(QIcon("Python2.ico"))
     self.setWindowTitle('气泡提示Demo')