Exemplo n.º 1
0
def main(args=[]):
    """
    Default main program which starts Qt based on the command line arguments `args`, sets the stylesheet if present,
    then creates the window object and shows it. The `args` command line arguments list is used to load given 
    directories or zip files. Returns the value of QApplication.exec_() for the created QApplication object.
    """
    app = QtWidgets.QApplication(args)
    app.setAttribute(
        Qt.AA_DontUseNativeMenuBar)  # in macOS, forces menubar to be in window
    app.setStyle("Plastique")

    # load the stylesheet included as a Qt resource
    with closing(QtCore.QFile(":/css/DefaultUIStyle.css")) as f:
        if f.open(QtCore.QFile.ReadOnly):
            app.setStyleSheet(bytes(f.readAll()).decode("UTF-8"))
        else:
            print("Failed to read %r" % f.fileName(), file=sys.stderr)

    browser = DicomBrowser()

    # add the directories passed as arguments to the directory queue to start loading
    for i in args[1:]:
        if os.path.exists(i):
            browser.add_source(i)

    browser.show()

    return app.exec()
Exemplo n.º 2
0
    def pop_help(self):
        d = QtWidgets.QDialog()
        d.setMinimumWidth(600)
        l = QtWidgets.QVBoxLayout()
        t = QtWidgets.QTextEdit()
        t.setReadOnly(False)
        l.addWidget(t)

        bBox = QtWidgets.QDialogButtonBox()
        bBox.addButton('Ok', QtWidgets.QDialogButtonBox.AcceptRole)
        bBox.accepted.connect(d.accept)
        l.addWidget(bBox)
        d.setLayout(l)

        try:
            file = QtCore.QFile(HELP)
            file.open(QtCore.QFile.ReadOnly)
            html = file.readAll()
            html = unicode(html, encoding='utf8')
            html = html.replace("../images/probe_icons/",
                                "{}/probe_icons/".format(INFO.IMAGE_PATH))
            t.setHtml(html)
        except Exception as e:
            t.setText('Versa Probe Help file Unavailable:\n\n{}'.format(e))

        d.show()
        d.exec_()
Exemplo n.º 3
0
    def retranslateUi(self, Dialog):
        _translate = QtCore.QCoreApplication.translate
        Dialog.setWindowTitle(_translate("Dialog", "My Shop"))
        self.GoodPriceLabel.setText(_translate("Dialog", "Product Price:"))
        self.GoodNameLabel.setText(_translate("Dialog", "Product Name:"))
        self.GoodNumLabel.setText(_translate("Dialog", "Number:"))
        self.GoodEnsureButton.setText(_translate("Dialog", "OK"))
        self.GoodClearButton.setText(_translate("Dialog", "Clear"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab),
                                  _translate("Dialog", "New Product"))
        self.GetCustomerButton.setText(_translate("Dialog", "Get"))
        self.CustomerClearbutton.setText(_translate("Dialog", "Clear"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2),
                                  _translate("Dialog", "Customer Now"))
        self.GetGoodButton.setText(_translate("Dialog", "Get"))
        self.GoodClearbutton.setText(_translate("Dialog", "Clear"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3),
                                  _translate("Dialog", "Products"))
        self.QuitButton.setText(_translate("Dialog", "Quit"))

        file = QtCore.QFile('black_flat.qss')
        file.open(QtCore.QFile.ReadOnly)
        styleSheet = file.readAll()
        styleSheet = unicode(styleSheet, encoding='utf8')
        self.setStyleSheet(styleSheet)
        file.close()
Exemplo n.º 4
0
    def onBtnSaveStrategyClicked(self):
        """保存"""

        # 打开一个文件保存对话框,获取用户希望保存的文件的路径与文件名
        filename, fileType = QtWidgets.QFileDialog.getSaveFileName(self, u"保存策略", '', "Python files (*.py *.pyw)")

        # 如果用户点击取消,退出保存
        if 0 == len(filename):
            return

        # 防御式编程
        try:
            # 依据用户指定的路径和文件名,创建一个Qt文件对象
            fh = QtCore.QFile(filename)

            # 尝试只读的方式打开文件,如果失败,抛出异常
            if not fh.open(QtCore.QIODevice.WriteOnly):
                raise IOError(str(fh.errorString()))

            # 将文件打开,放入输入流中
            stream = QtCore.QTextStream(fh)

            # 设置文件流的编码
            stream.setCodec("UTF-8")

            # 将界面上的文本放入文本流中(即保存)
            stream << self.textEdit.toPlainText()

            # 将文件属性设置为无修改
            self.textEdit.document().setModified(False)
        except EnvironmentError as e:

            # 异常警告
            QtWidgets.QMessageBox.warning(self, "Python Editor -- Save Error", "Failed to save {0}: {1}".format(filename, e))
            return False
Exemplo n.º 5
0
 def file_save(self):
     if (self.file):
         if self.file.open(QtCore.QIODevice.WriteOnly):
             data = self.scene.items_to_data()
             print(data)
             self.file.write(json.dumps(data).encode("utf-8"))
             self.file.close()
             print("File saved !")
             self.statusBar().showMessage("File Saved")
         else:
             print("Can't save this file !")
             self.statusBar().showMessage("Can't save this file !")
     else:
         filename = QtWidgets.QFileDialog.getSaveFileName(
             self, 'Save File', os.getcwd())
         if len(filename[0]) > 0:
             if (filename[0][len(filename[0]) - 5:] == ".json"):
                 file = filename[0]
             else:
                 file = filename[0] + ".json"
             filesave = QtCore.QFile(file)
             if filesave.open(QtCore.QIODevice.WriteOnly):
                 data = self.scene.items_to_data()
                 print(data)
                 filesave.write(json.dumps(data).encode("utf-8"))
                 filesave.close()
                 self.file = filesave
                 print("File saved !")
                 self.statusBar().showMessage("File Saved")
             else:
                 print("Can't save this file !")
                 self.statusBar().showMessage("Can't save this file !")
Exemplo n.º 6
0
    def retranslateUi(self, Dialog):
        _translate = QtCore.QCoreApplication.translate
        Dialog.setWindowTitle(_translate("Dialog", "百万富翁问题 测试系统"))
        self.label.setText(_translate("Dialog", "百万富翁问题 测试系统"))
        self.label_2.setText(_translate("Dialog", "请输入您的姓名:"))
        self.label_8.setText(_translate("Dialog", "请输入您要对比的人的姓名:"))
        self.label_3.setText(_translate("Dialog", "请输入您的财产(1至10之间):"))
        self.Show_Hide_Button.setText(_translate("Dialog", "显示/隐藏"))
        self.Ensurebutton.setText(_translate("Dialog", "确认"))
        self.PartClearButton.setText(_translate("Dialog", "清空"))
        self.label_4.setText(_translate("Dialog", "您选择的随机大整数是:"))
        self.label_6.setText(_translate("Dialog", "您收到的10个整数为:"))
        self.label_7.setText(_translate("Dialog", "其中,第j个数为:"))
        self.label_9.setText(_translate("Dialog", "最终结果是:"))
        self.AllClearButton.setText(_translate("Dialog", "清空"))
        self.ExitButton.setText(_translate("Dialog", "退出"))

        file = QtCore.QFile('decorate/black_flat.qss')
        file.open(QtCore.QFile.ReadOnly)
        styleSheet = file.readAll()
        styleSheet = QTextStream(styleSheet).readAll()
        self.setStyleSheet(styleSheet)
        file.close()

        self.BigIntergerLine.setReadOnly(True)
        self.Ten_Interger_Line.setReadOnly(True)
        self.The_j_th_num_Line.setReadOnly(True)
        self.ResultLine.setReadOnly(True)

        self.error_win = Error_Dialog()

        self.action_fail.connect(self.error_deal)
        self.setWindowOpacity(0.97)  #半透明
Exemplo n.º 7
0
def file_open(filename):
    fileopen=QtCore.QFile(filename)
    if fileopen.open(QtCore.QFile.ReadOnly | QtCore.QFile.Text)==None :
        print("fileopen.open(QtCore.QIODevice.WriteOnly)==None")
        return -1
    xmlReader=QtCore.QXmlStreamReader(fileopen)
    xmlReader.setDevice(fileopen)
    while not xmlReader.atEnd() :
        if xmlReader.name() != "" :
            print("name",xmlReader.name() )
            if xmlReader.isStartElement() :
                if xmlReader.name()== "GraphicsItem" :
                    print("GraphicsItem start")
                    if xmlReader.attributes().value("type") == "rect" :
                        rect=None
                        print("rect")
                        while  xmlReader.readNextStartElement() :
                            print("xmlReader.readNextStartElement()")
                            if xmlReader.name()== "shape" :
                                x=float(xmlReader.attributes().value("x"))
                                y=float(xmlReader.attributes().value("y"))
                                w=float(xmlReader.attributes().value("w"))
                                h=float(xmlReader.attributes().value("h"))
                                print("shape",x,y,w,h)
    #                            rect=QtWidgets.QGraphicsRectItem(x,y,w,h)
                            xmlReader.readNext()
                    print("GraphicsItem end")            
        xmlReader.readNext()                       
Exemplo n.º 8
0
    def __init__(self, ui_file):
        # # TODO: CAMPid 980567566238416124867857834291346779
        # ico_file = os.path.join(QtCore.QFileInfo.absolutePath(QtCore.QFileInfo(__file__)), 'icon.ico')
        # ico = QtGui.QIcon(ico_file)
        # self.setWindowIcon(ico)

        logging.debug('Loading UI from: {}'.format(ui_file))

        ui = ui_file
        # TODO: CAMPid 9549757292917394095482739548437597676742
        if not QtCore.QFileInfo(ui).isAbsolute():
            ui_file = os.path.join(
                QtCore.QFileInfo.absolutePath(QtCore.QFileInfo(__file__)), ui)
        else:
            ui_file = ui
        ui_file = QtCore.QFile(ui_file)
        ui_file.open(QtCore.QFile.ReadOnly | QtCore.QFile.Text)
        ts = QtCore.QTextStream(ui_file)
        sio = io.StringIO(ts.readAll())
        self.ui = PyQt5.uic.loadUi(sio)

        self.ui.action_open.triggered.connect(lambda _: self.open())
        self.ui.action_save.triggered.connect(lambda _: self.save())
        self.ui.action_save_as.triggered.connect(self.save_as)

        self.filters = [('JSON', ['json']), ('All Files', ['*'])]

        self.view_models = {}

        self.filename = None
Exemplo n.º 9
0
def load_stylesheet():
    """
    Loads the stylesheet for use in a pyqt5 application.
    :return the stylesheet string
    """

    # Smart import of the rc file
    f = QtCore.QFile(':qdarkgraystyle/style.qss')
    if not f.exists():
        _logger().error('Unable to load stylesheet, file not found in '
                        'resources')
        return ''
    else:
        f.open(QtCore.QFile.ReadOnly | QtCore.QFile.Text)
        ts = QtCore.QTextStream(f)
        stylesheet = ts.readAll()
        if platform.system().lower() == 'darwin':  # see issue #12 on github
            mac_fix = '''
            QDockWidget::title
            {
                background-color: #31363b;
                text-align: center;
                height: 12px;
            }
            '''
            stylesheet += mac_fix
        return stylesheet
Exemplo n.º 10
0
    def chooseFiles(self):

        files = QtWidgets.QFileDialog.getOpenFileName(self.window,
                                                      "Choose Your Files")
        if self.count != 10:
            name = files[0].split('/')[-1]
            type = Util.checkFileType(name)
            fileSize = QtCore.QFile(files[0]).size()

            if fileSize > Util.gb:
                QtWidgets.QMessageBox.information(self.window, "",
                                                  "Can't choose this file ")
                self.chooseFiles()
                return

            for i in self.list:
                if i[1] == name:
                    QtWidgets.QMessageBox.information(
                        self.window, "", "This File already exists ")
                    self.chooseFiles()
                    return
            item = QtWidgets.QTableWidgetItem()
            item.setText(name)
            self.tableWidget.setItem(self.count, 0, item)
            item = QtWidgets.QTableWidgetItem()
            item.setText(Util.getSize(fileSize))
            self.tableWidget.setItem(self.count, 1, item)

            item = QtWidgets.QTableWidgetItem()
            item.setText(type)
            self.tableWidget.setItem(self.count, 2, item)
            self.files.append(files[0])
            self.count += 1
        if self.count > 0:
            self.pushButton_2.setEnabled(True)
Exemplo n.º 11
0
        def elseIfUi(elseIfItem, type):
            elseIfFile = QtCore.QFile(filePath + '\elseIf.ui')
            elseIfFile.open(QtCore.QFile.ReadOnly)

            elseIfUi = uic.loadUi(elseIfFile)

            childIndex = conditionalItem.indexOfChild(elseIfItem)

            if type == 'elseIf' and childIndex == 0:
                elseIfUi.label.setText('If')

            elif type == 'elseIf':
                elseIfUi.label.setText('Else If')

            else:
                elseIfUi.label.setText('Else')
                elseIfUi.elseIfEdit.hide()

            elseIfUi.elseIfEdit.editingFinished.connect(updateConditional)

            try:
                elseIfUi.elseIfEdit.setText(
                    conditionalItem.data['conditions'][childIndex])
            except Exception as e:
                print('error' + str(e))

            return elseIfUi
Exemplo n.º 12
0
    def __init__(self, parent=None, in_designer=False):
        super().__init__(parent=parent)

        self.in_designer = in_designer

        ui = 'faultlogview.ui'
        # TODO: CAMPid 9549757292917394095482739548437597676742
        if not QtCore.QFileInfo(ui).isAbsolute():
            ui_file = os.path.join(
                QtCore.QFileInfo.absolutePath(QtCore.QFileInfo(__file__)),
                ui,
            )
        else:
            ui_file = ui
        ui_file = QtCore.QFile(ui_file)
        ui_file.open(QtCore.QFile.ReadOnly | QtCore.QFile.Text)
        ts = QtCore.QTextStream(ui_file)
        sio = io.StringIO(ts.readAll())
        self.ui = PyQt5.uic.loadUi(sio, self)

        view = self.ui.tree_view
        view.setSelectionBehavior(view.SelectRows)
        view.setSelectionMode(view.ExtendedSelection)

        self.model = None

        self.ui.clear_button.clicked.connect(self.clear)
Exemplo n.º 13
0
 def saveFilter(self, f):
     outputFile = QtCore.QFile("Monitor/filter/" + f.name + ".xml")
     if not outputFile.open(QtCore.QIODevice.WriteOnly):
         print('could not write', f.name + ".xml")
         return
     outputFile.write(f.serialize())
     outputFile.close()
Exemplo n.º 14
0
    def start_encryption(self):
        self.open_log()
        mode = 0
        # if the user chose to enter a message manually
        if self.radioButton_3.isChecked():
            send_text(self.lineEdit.text() + '\n', self.soc)  ###
            self.pushButton_5.setVisible(False)
            #self.soc.close_connection()
        # the user chose to encrypt a file
        else:
            # displaying file contents on gui
            file = QtCore.QFile(file_path)
            if not file.open(QtCore.QIODevice.ReadOnly):
                msg = QMessageBox()
                msg.setIcon(QMessageBox.Critical)
                msg.setText(file.errorString())
                x = msg.exec_()
                mode = 1

            self.soc.sender.send_file(file_path)  ###
            self.soc.close_connection()
            self.pushButton_2.setEnabled(False)
            self.pushButton_3.setEnabled(False)
            self.pushButton_5.setVisible(True)

        if mode == 0:
            self.pushButton_4.setVisible(True)
        self.close_log()
        self.read_log()
Exemplo n.º 15
0
    def openReturn(self, path):
        qssname = path  # os.path.join(DIR, BNAME, sheetName)
        file = QtCore.QFile(qssname)
        file.open(QtCore.QFile.ReadOnly)
        num = 0
        name = str(self.stack.currentWidget().objectName())
        while not file.atEnd():
            dataSheet = file.readLine()
            try:
                # Python v2.
                dataSheet = unicode(dataSheet, encoding='utf8')
            except NameError:
                # Python v3.
                dataSheet = str(dataSheet, encoding='utf8')
            h, g = dataSheet.split(',')

            # set widgets to data:
            # Look for a radio button instance so we can convert to integers
            # other wise we assume text
            if isinstance(self['%s%d' % (name, num)], QtWidgets.QRadioButton):
                #print self['%s%d' % (name, num)], h
                self['%s%d' % (name, num)].setChecked(bool(h))
            else:
                #print self['%s%d' % (name, num)], h
                self['%s%d' % (name, num)].setText(str(h))
            num = +1
Exemplo n.º 16
0
 def dump(file_name, param):
     start_param = yaml.dump(param)
     train_read = QtCore.QFile(file_name)
     train_read.open(QtCore.QFile.WriteOnly | QtCore.QFile.Text)
     load = QtCore.QTextStream(train_read)
     load << start_param
     train_read.close()
Exemplo n.º 17
0
 def saveAs(self):
     """opens Save File dialogue and saves current tab as a File"""
     tr = QtCore.QCoreApplication.translate
     fileName = QtWidgets.QFileDialog.getSaveFileName(
         self, tr("SaveDialog:", "Berechnung speichern"), "",
         tr("SaveDialog:",
            "Bauphysikberechnung (*.baup);;Alle Dateien (*)"))
     if (all(fileName)):
         file = QtCore.QFile(fileName[0])
         if (not file.open(QtCore.QIODevice.WriteOnly)):
             QtWidgets.QMessageBox.Information(
                 self, tr("SaveDialog:",
                          "Datei kann nicht geöffnet werden"),
                 file.errorString())
             return
         fileNameStringWithEnding = fileName[0].split("/")
         fileNameStringWithEnding = fileNameStringWithEnding[
             len(fileNameStringWithEnding) - 1]
         fileNameStringWithEnding = fileNameStringWithEnding.split(".")
         fileNameString = ""
         for x in range(len(fileNameStringWithEnding) - 1):
             if x == 0:
                 fileNameString += fileNameStringWithEnding[x]
             else:
                 fileNameString += "." + fileNameStringWithEnding[x]
         self.tabWidget.currentWidget().data.name = fileNameString
         self.tabWidget.currentWidget(
         ).data.currentFileLocation = fileName[0]
         exp = Exporter(self.tabWidget.currentWidget().data)
         exp.export(fileName[0])
         self.updateName()
     else:
         return
Exemplo n.º 18
0
    def __init__(self, parent=None):
        super().__init__(parent)

        self.m_qin = QtCore.QFile()

        self.m_qin.open(
            sys.stdin.fileno(), QtCore.QIODevice.ReadOnly | QtCore.QIODevice.Unbuffered
        )

        if platform.system() == "Windows":
            import win32api

            if sys.platform == "win32":
                import os
                import msvcrt

                if platform.python_implementation() == "PyPy":
                    os.fdopen(fh.fileno(), "wb", 0)
                else:
                    msvcrt.setmode(sys.stdin.fileno(), os.O_BINARY)

            self.m_notifier = QtCore.QWinEventNotifier(
                win32api.GetStdHandle(win32api.STD_INPUT_HANDLE)
            )

        else:
            self.m_notifier = QtCore.QSocketNotifier(
                sys.stdin.fileno(), QtCore.QSocketNotifier.Read, self
            )

        self.m_notifier.activated.connect(self.readyRead)
Exemplo n.º 19
0
def file_save(filename):
    filesave=QtCore.QFile(filename)
    if filesave.open(QtCore.QIODevice.WriteOnly)==None :
        print("filesave.open(QtCore.QIODevice.WriteOnly)==None")
        return -1
    xmlWriter=QtCore.QXmlStreamWriter(filesave)
    xmlWriter.setAutoFormatting(True)

    xmlWriter.writeStartDocument()
    xmlWriter.writeStartElement("Scene")                # Start Scene Root Element
    xmlWriter.writeAttribute("version", "v1.0")
    xmlWriter.writeStartElement("GraphicsItemList")     # Star GraphicsItemList Element
##    items=self.scene.items()
##    for i  in range(len(items)) :
##        xmlWriter.writeStartElement("GraphicsItem")
##       num=items[i].type()
##       if num==3 :
##           xmlWriter.writeAttribute("type","rect")
##           ...
    xmlWriter.writeStartElement("GraphicsItem")         # Star GraphicsItem Element
    xmlWriter.writeAttribute("type","rect")
    xmlWriter.writeStartElement("shape")                # Star GraphicsItem Element
    xmlWriter.writeAttribute("x", str(10))
    xmlWriter.writeAttribute("y", str(40))
    xmlWriter.writeAttribute("w", str(200))
    xmlWriter.writeAttribute("h", str(300))
    xmlWriter.writeEndElement()                         # End shape Element
    xmlWriter.writeEndElement()                         # End GraphicsItem Element
    xmlWriter.writeEndElement()                         # End GraphicsItemList Element
    xmlWriter.writeEndElement()                         # End Scene Root Element
    filesave.close()
Exemplo n.º 20
0
    def load(self, filename, initial_page=0):
        logger.info('Loading %s at %i', filename, initial_page)

        loader = ComicLoaderFactory.create_loader(filename)
        loader.progress.connect(self.load_progressbar_value)

        try:
            loader.load(filename)
        except NoDataFindException as exc:
            from pynocchio.comic import Page
            logger.exception('Error in load comic! %s', exc)
            q_file = QtCore.QFile(":/icons/not_cover.png")
            q_file.open(QtCore.QIODevice.ReadOnly)
            loader.data.append(Page(q_file.readAll(), 'exit_red_1.png', 0))

        # Memorize last page on comic
        if self.comic:
            if not self.is_first_page() and not self.is_last_page():
                self.add_bookmark(table=TemporaryBookmark)
            else:
                self.remove_bookmark(table=TemporaryBookmark)

        self.comic = Comic(get_base_name(filename),
                           get_dir_name(filename))

        self.comic.pages = loader.data
        self.comic_page_handler = ComicPageHandlerFactory.create_handler(
            False, self.comic, index=initial_page)
        self.current_directory = get_dir_name(filename)

        if is_file(filename):
            self.comic_file_filter.parse(self.current_directory)
Exemplo n.º 21
0
 def __init__(self):
     super(MainWindow, self).__init__()
     # interface e splitter
     uiFile = QtCore.QFile(":/Ui_MainWindow.ui")
     uiFile.open(QtCore.QFile.ReadOnly)
     uic.loadUi(uiFile, self)
     uiFile.close()
     self.loadSplitter()
     self.setWindowTitle("Todopad")
     self.setWindowIcon(QIcon(':/app.ico'))
     # connects
     self.connects()
     # current path do app
     self.path = QDir.currentPath()
     # desativando html no text edit
     self.textEdit.setAcceptRichText(False)
     # font size do text edit
     self.textEdit.setFontPointSize(10)
     # ativando drag and drop interno da lista
     self.listWidget.setDragDropMode(QAbstractItemView.InternalMove)
     # inicializando objeto do calendario
     self.calendar = QCalendarWidget()
     self.calendar.setWindowTitle('Calendar')
     self.calendar.setWindowIcon(QIcon(':/app.ico'))
     self.calendar.setGridVisible(True)
     # controle de versao da aplicacao para escrita no json
     self.version = "1.1"
Exemplo n.º 22
0
    def __init__(self, parent):
        super().__init__(parent)

        self.setWindowTitle(
            _('{appname} v{appversion}').format(appname=Meta.appName(),
                                                appversion=str(
                                                    Meta.appVersion())))

        iodev = QtCore.QFile(':/about.html')
        iodev.open(iodev.ReadOnly)
        try:
            about = bytes(iodev.readAll()).decode('utf-8')
        finally:
            iodev.close()
        about = about.format(author=Meta.appAuthor())

        text = QtWidgets.QTextBrowser(self)
        text.setHtml(about)
        text.setOpenExternalLinks(True)

        btn = QtWidgets.QPushButton(_('Done'), self)

        bld = LayoutBuilder(self)
        with bld.vbox() as vbox:
            vbox.addWidget(text)
            with bld.hbox() as buttons:
                buttons.addStretch(1)
                buttons.addWidget(btn)

        btn.clicked.connect(self.accept)

        self.resize(800, 600)
Exemplo n.º 23
0
    def _set_js_api(self):
        def _register_window_object():
            frame.addToJavaScriptWindowObject('external', self.js_bridge)

        script = parse_api_js(self.js_bridge.api)

        if _qt_version >= [5, 5]:
            qwebchannel_js = QtCore.QFile('://qtwebchannel/qwebchannel.js')
            if qwebchannel_js.open(QtCore.QFile.ReadOnly):
                source = bytes(qwebchannel_js.readAll()).decode('utf-8')
                self.view.page().runJavaScript(source)
                self.channel.registerObject('external', self.js_bridge)
                qwebchannel_js.close()
        elif _qt_version >= [5, 0]:
            frame = self.view.page().mainFrame()
            _register_window_object()
        else:
            frame = self.view.page().mainFrame()
            _register_window_object()

        try:  # PyQt4
            self.view.page().mainFrame().evaluateJavaScript(script)
        except AttributeError:  # PyQt5
            self.view.page().runJavaScript(script)

        self.load_event.set()
Exemplo n.º 24
0
    def getStyleSheet(self, path):
        f = QtCore.QFile(path)
        f.open(QtCore.QFile.ReadOnly | QtCore.QFile.Text)
        stylesheet = QtCore.QTextStream(f).readAll()
        f.close()

        return stylesheet
Exemplo n.º 25
0
    def writeReplayFile(self):
        # Update info block if possible.
        if fa.instance._info and fa.instance._info['uid'] == self.replayInfo[
                'uid']:
            if fa.instance._info.setdefault('complete', False):
                self.__logger.info("Found Complete Replay Info")
            else:
                self.__logger.warning("Replay Info not Complete")

            self.replayInfo = fa.instance._info

        self.replayInfo['game_end'] = time.time()

        filename = os.path.join(
            util.REPLAY_DIR,
            str(self.replayInfo['uid']) + "-" + self.replayInfo['recorder'] +
            ".fafreplay")
        self.__logger.info("Writing local replay as " + filename +
                           ", containing " + str(self.replayData.size()) +
                           " bytes of replay data.")

        replay = QtCore.QFile(filename)
        replay.open(QtCore.QIODevice.WriteOnly | QtCore.QIODevice.Text)
        replay.write(json.dumps(self.replayInfo).encode('utf-8'))
        replay.write(b'\n')
        replay.write(QtCore.qCompress(self.replayData).toBase64())
        replay.close()
Exemplo n.º 26
0
    def __init__(self, parent=None):
        super(DragWidget, self).__init__(parent)
        dictionaryFile = QtCore.QFile(":/dictionary/words.txt")
        dictionaryFile.open(QtCore.QFile.ReadOnly)
        inputStream = QtCore.QTextStream(dictionaryFile)

        x, y = 5, 5

        while not inputStream.atEnd():
            word = inputStream.readLine()
            if word:
                wordLabel = DragLabel(word, self)
                wordLabel.move(x, y)
                wordLabel.show()
                wordLabel.setAttribute(QtCore.Qt.WA_DeleteOnClose)
                x += wordLabel.width() + 2
                if x >= 245:
                    x = 5
                    y += wordLabel.height() + 2

        newPalette = self.palette()
        newPalette.setColor(QtGui.QPalette.Window, QtCore.Qt.white)
        self.setPalette(newPalette)

        self.setMinimumSize(400, max(200, y))
        self.setWindowTitle(self.tr("Fridge Magnets"))
        self.setAcceptDrops(True)
Exemplo n.º 27
0
    def add_avatar(self):

        options = QtWidgets.QFileDialog.Options()
        options |= QtWidgets.QFileDialog.DontUseNativeDialog

        fileName = QtWidgets.QFileDialog.getOpenFileName(
            self, "Select the PNG file", "", "png Files (*.png)", options)
        if fileName:
            # check the properties of that file
            pixmap = QtGui.QPixmap(fileName)
            if pixmap.height() == 20 and pixmap.width() == 40:

                text, ok = QtWidgets.QInputDialog.getText(
                    self, "Avatar description", "Please enter the tooltip :",
                    QtWidgets.QLineEdit.Normal, "")

                if ok and text != '':

                    file = QtCore.QFile(fileName)
                    file.open(QtCore.QIODevice.ReadOnly)
                    fileDatas = base64.b64encode(zlib.compress(file.readAll()))
                    file.close()

                    self.parent.lobby_connection.send(
                        dict(command="avatar",
                             action="upload_avatar",
                             name=os.path.basename(fileName),
                             description=text,
                             file=fileDatas))

            else:
                QtWidgets.QMessageBox.warning(
                    self, "Bad image",
                    "The image must be in png, format is 40x20 !")
Exemplo n.º 28
0
 def save(self):
     exception = None
     fh = None
     try:
         if not self.filename:
             raise IOError("no filename specified for saving")
         fh = QtCore.QFile(self.filename)
         if not fh.open(QtCore.QIODevice.WriteOnly):
             raise IOError(fh.errorString())
         stream = QtCore.QDataStream(fh)
         stream.writeInt32(MAGIC_NUMBER)
         stream.writeInt16(FILE_VERSION)
         stream.setVersion(QtCore.QDataStream.Qt_4_5)
         for ship in self.ships:
             stream.writeQString(ship.name)
             stream.writeQString(ship.owner)
             stream.writeQString(ship.country)
             stream.writeQString(ship.description)
             stream.writeInt32(ship.teu)
         self.dirty = False
     except IOError as e:
         exception = e
     finally:
         if fh is not None:
             fh.close()
         if exception is not None:
             raise exception
Exemplo n.º 29
0
def store_file_content(fileName, content, addExtension=True, newFile=False):
    """Save content on disk with the given file name."""
    if fileName == '':
        raise Exception()
    ext = (os.path.splitext(fileName)[-1])[1:]
    if ext == '' and addExtension:
        fileName += '.py'
    if newFile and file_exists(fileName):
        raise NinjaFileExistsException(fileName)
    try:
        flags = QtCore.QIODevice.WriteOnly | QtCore.QIODevice.Truncate
        f = QtCore.QFile(fileName)
        if settings.use_platform_specific_eol():
            flags |= QtCore.QIODevice.Text

        if not f.open(flags):
            raise NinjaIOException(f.errorString())

        stream = QtCore.QTextStream(f)
        encoding = get_file_encoding(content)
        if encoding:
            stream.setCodec(encoding)

        encoded_stream = stream.codec().fromUnicode(content)
        f.write(encoded_stream)
        f.flush()
        f.close()
    except Exception:
        raise
    return os.path.abspath(fileName)
Exemplo n.º 30
0
 def save(self):
     if not self.filename:
         path = "."
         fname = QtWidgets.QFileDialog.getSaveFileName(
             self, "Page Designer - Save As", path,
             "Page Designer Files (*.pgd)")[0]
         #print "save: fname, type: \n", fname, ",", type(fname)
         if not fname:
             return
         if not fname.lower().endswith(".pgd"):
             fname += ".pgd"
         self.filename = fname
     fh = None
     try:
         fh = QtCore.QFile(self.filename)
         if not fh.open(QtCore.QIODevice.WriteOnly):
             raise IOError(fh.errorString())
         self.scene.clearSelection()
         stream = QtCore.QDataStream(fh)
         stream.setVersion(QtCore.QDataStream.Qt_4_2)
         stream.writeInt32(MagicNumber)
         stream.writeInt16(FileVersion)
         for item in self.scene.items():
             self.writeItemToStream(stream, item)
     except IOError as e:
         QtGui.QMessageBox.warning(
             self, "Page Designer -- Save Error",
             "Failed to save {}: {}".format(self.filename, e))
     finally:
         if fh is not None:
             fh.close()
     global Dirty
     Dirty = False