Beispiel #1
0
def handle_args(args: List[str]) -> str:
    """
    Handles the given arguments, determining the starting dir.

    :param args: List of arguments given to the application.
    :type args: List[str]
    :return: The directory to start the application with.
    :rtype: str
    """
    if len(args) > 1:
        if os.path.isdir(args[1]):
            return os.path.abspath(args[1])
        if QUrl(args[1]).isValid() and os.path.isdir(QUrl(args[1]).path()):
            return os.path.abspath(QUrl(args[1]).path())
    return QDir.homePath()
    def __init__(self):
        super(MainWindow, self).__init__()

        self.setWindowTitle('PySide6 WebEngineWidgets Example')

        self.toolBar = QToolBar()
        self.addToolBar(self.toolBar)
        self.backButton = QPushButton()
        self.backButton.setIcon(QIcon(':/qt-project.org/styles/commonstyle/images/left-32.png'))
        self.backButton.clicked.connect(self.back)
        self.toolBar.addWidget(self.backButton)
        self.forwardButton = QPushButton()
        self.forwardButton.setIcon(QIcon(':/qt-project.org/styles/commonstyle/images/right-32.png'))
        self.forwardButton.clicked.connect(self.forward)
        self.toolBar.addWidget(self.forwardButton)

        self.addressLineEdit = QLineEdit()
        self.addressLineEdit.returnPressed.connect(self.load)
        self.toolBar.addWidget(self.addressLineEdit)

        self.webEngineView = QWebEngineView()
        self.setCentralWidget(self.webEngineView)
        initialUrl = 'http://qt.io'
        self.addressLineEdit.setText(initialUrl)
        self.webEngineView.load(QUrl(initialUrl))
        self.webEngineView.page().titleChanged.connect(self.setWindowTitle)
        self.webEngineView.page().urlChanged.connect(self.urlChanged)
Beispiel #3
0
 def eventFilter(self, source: QLineEdit,
                 event: Union[QDropEvent, QMouseEvent, QDragEnterEvent]):
     if event.type() == QEvent.DragEnter:
         event.accept()
     elif event.type() == QEvent.Drop:
         # 任何拖放事件 都先清空原来的内容
         source.clear()
         md = event.mimeData()  # type: QMimeData
         if md.hasUrls() and len(md.urls()) == 1:
             path = md.urls()[0].toLocalFile()
             if os.path.exists(path):
                 source.setText(path)
                 self.update_name.emit(path)
         return True
     elif event.type() == QEvent.MouseButtonDblClick:
         # 选择本地headers.json文件
         fileName, selectedFilter = QFileDialog.getOpenFileUrl(
             None, caption="select headers.json", dir=QUrl("file://."))
         if isinstance(fileName, QUrl):
             path = fileName.toLocalFile()
             if os.path.exists(path):
                 source.clear()
                 source.setText(path)
                 self.update_name.emit(path)
         return True
     return super(HeaderFileQLineEdit, self).eventFilter(source, event)
Beispiel #4
0
    def __init__(self, *args, **kwargs):
        super(Help, self).__init__(*args, **kwargs)

        self.browser = QWebEngineView()
        self.browser.setUrl(QUrl("https://piscat.readthedocs.io/"))
        self.setCentralWidget(self.browser)
        self.show()
Beispiel #5
0
 async def installFromURL(
         self,
         path: Union[str, QUrl],
         local: bool = True,
         web: bool = True,
         installtime: Optional[datetime] = None) -> Tuple[int, int]:
     installed = 0
     errors = 0
     if not installtime:
         installtime = datetime.now(tz=timezone.utc)
     if isinstance(path, QUrl):
         path = path.toString()
     if web and isValidModDownloadUrl(path):
         self.setDisabled(True)
         logger.bind(dots=True, path=path).info(f'Installing mods from')
         i, e = await self.installFromFileDownload(path, installtime)
         installed += i
         errors += e
     elif local and isValidFileUrl(path):
         self.setDisabled(True)
         path = QUrl(path)
         logger.bind(dots=True, path=Path(
             path.toLocalFile())).info(f'Installing mods from')
         i, e = await self.installFromFile(Path(path.toLocalFile()),
                                           installtime)
         installed += i
         errors += e
     else:
         logger.bind(path=path).error('Could not install mods from')
     return installed, errors
Beispiel #6
0
 def login_esia(self):
     response = self.web_session.get(
         'https://irkkt-mobile.nalog.ru:8888/v2/mobile/users/esia/auth/url')
     if response.status_code != 200:
         logging.error(
             self.tr("Get ESIA URL failed: ") +
             f"{response}/{response.text}")
         return
     json_content = json.loads(response.text)
     auth_url = json_content['url']
     self.ESIAWebView.load(QUrl(auth_url))
Beispiel #7
0
 def eventFilter(self, source: QLineEdit,
                 event: Union[QDropEvent, QMouseEvent, QDragEnterEvent]):
     if event.type() == QEvent.DragEnter:
         event.accept()
     elif event.type() == QEvent.Drop:
         # 任何拖放事件 都先清空原来的内容
         source.clear()
         md = event.mimeData()  # type: QMimeData
         if md.hasUrls() and len(md.urls()) == 1:
             path = md.urls()[0].toLocalFile()
             if os.path.exists(path):
                 source.setText(path)
                 self.update_name.emit(path)
         return True
     elif event.type() == QEvent.MouseButtonDblClick:
         # 获取剪切板内容 看看有没有链接或者是文件
         clipboard = QApplication.clipboard()
         md = clipboard.mimeData()
         if md.hasUrls() and len(md.urls()) == 1:
             # 比如复制了文件 这里就可以获取到文件的路径 但超链接并不会在这里
             path = md.urls()[0].toLocalFile()
             if os.path.exists(path):
                 source.clear()
                 source.setText(path)
                 self.update_name.emit(path)
         elif md.hasText():
             # 检查是不是http(s)://开头的链接
             text = md.text()
             if re.match(r'^https?://', text):
                 source.clear()
                 source.setText(text)
                 self.update_name.emit(text)
         else:
             # 否则尝试选择本地元数据文件
             fileName, selectedFilter = QFileDialog.getOpenFileUrl(
                 None, caption="选择元数据文件", dir=QUrl("file://."))
             if isinstance(fileName, QUrl):
                 path = fileName.toLocalFile()
                 if os.path.exists(path):
                     source.clear()
                     source.setText(path)
                     self.update_name.emit(path)
         return True
     return super(URIQLineEdit, self).eventFilter(source, event)
Beispiel #8
0
    def start_request(self, ):
        token = 'c2FuY2hvcjpNVFF6TkRFME5UZ3lOVUJ4Y1M1amIyMD06MTYzNjk4MjAyNTowNjljMz' \
                'FlZjM4MDhlZjQ2YWFiYzA1NzUwMTYzMDY1ZTQyMWZkYTli'

        url = QUrl(
            'https://ladsweb.modaps.eosdis.nasa.gov/archive/orders/501675589.json'
        )
        self.http_request_aborted = False
        req = QNetworkRequest(url)
        req.setRawHeader(QByteArray('Authorization'),
                         QByteArray('Bearer ' + token))
        self.reply = self.qnam.get(req)
        self.reply.finished.connect(self.http_finished)

        progress = progress_dialog(url)
        progress.setAttribute(Qt.WA_DeleteOnClose)
        progress.canceled.connect(self.cancel_download)
        self.reply.downloadProgress.connect(progress.network_reply_progress)
        self.reply.finished.connect(progress.hide)
        progress.exec()
Beispiel #9
0
    def showContextMenu(self, pos: QPoint) -> None:
        mods = self.getSelectedMods()
        if not mods:
            return
        menu = QMenu(self)
        actionOpen = menu.addAction('&Open Directory')
        actionOpen.setIcon(
            QIcon(str(getRuntimePath('resources/icons/open-folder.ico'))))
        actionOpen.triggered.connect(lambda: [
            util.openDirectory(self.modmodel.getModPath(mod))  # type: ignore
            for mod in mods
        ])
        menu.addSeparator()
        actionEnable = menu.addAction('&Enable')
        actionEnable.triggered.connect(
            lambda: [asyncio.create_task(self.enableSelectedMods(True))])
        actionEnable.setEnabled(not all(mod.enabled for mod in mods))
        actionDisable = menu.addAction('&Disable')
        actionDisable.triggered.connect(
            lambda: [asyncio.create_task(self.enableSelectedMods(False))])
        actionDisable.setEnabled(not all(not mod.enabled for mod in mods))
        menu.addSeparator()
        actionUninstall = menu.addAction('&Uninstall')
        actionUninstall.triggered.connect(
            lambda: [asyncio.create_task(self.deleteSelectedMods())])
        menu.addSeparator()
        actionOpenNexus = menu.addAction('Open &Nexus Mods page')
        actionOpenNexus.setIcon(
            QIcon(str(getRuntimePath('resources/icons/browse.ico'))))
        actionOpenNexus.triggered.connect(lambda: [
            QDesktopServices.openUrl(
                QUrl(f'https://www.nexusmods.com/witcher3/mods/{modid}'))
            for modid in {mod.modid
                          for mod in mods if mod.modid > 0}
        ])
        actionOpenNexus.setEnabled(not all(mod.modid <= 0 for mod in mods))

        menu.popup(self.viewport().mapToGlobal(pos))
Beispiel #10
0
# !/usr/bin/env python
# encoding: utf-8
"""
  @author: gaogao
  @file: main_window.py
  @time: 2021/5/18 10:20
  @desc:
"""
from PySide6.QtWidgets import QApplication
from PySide6.QtQuick import QQuickView
from PySide6.QtCore import QUrl

app = QApplication([])
view = QQuickView()
url = QUrl("view.qml")

view.setSource(url)
view.showMaximized()
app.exec()
Beispiel #11
0
 def OpenUrl2(self):
     QDesktopServices.openUrl(
         QUrl("https://github.com/tonquer/waifu2x-vulkan"))
            first_item.setBackground(Qt.red)
        row = [first_item, second_item]
        source_model.invisibleRootItem().appendRow(row)
        list.append("FancyTextNumber {}".format(i))

    # Needed by QMLModelViewClient
    role_names = {
        Qt.DisplayRole: QByteArray(b'_text'),
        Qt.BackgroundRole: QByteArray(b'_color')
    }
    source_model.setItemRoleNames(role_names)

    roles = [Qt.DisplayRole, Qt.BackgroundRole]

    print("Creating registry host")
    node = QRemoteObjectRegistryHost(QUrl("local:registry"))

    node2 = QRemoteObjectHost(QUrl("local:replica"), QUrl("local:registry"))
    node2.enableRemoting(source_model, "RemoteModel", roles)

    view = QTreeView()
    view.setWindowTitle("SourceView")
    view.setModel(source_model)
    view.show()
    handler = TimerHandler(source_model)
    QTimer.singleShot(5000, handler.change_data)
    QTimer.singleShot(10000, handler.insert_data)
    QTimer.singleShot(11000, handler.change_flags)
    QTimer.singleShot(12000, handler.remove_data)
    QTimer.singleShot(13000, handler.move_data)
## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
## DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
## THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
##
## $QT_END_LICENSE$
##
#############################################################################

"""PySide6 port of the remoteobjects/modelviewclient example from Qt v5.x"""

import sys

from PySide6.QtCore import QUrl
from PySide6.QtWidgets import (QApplication, QTreeView)
from PySide6.QtRemoteObjects import QRemoteObjectNode

if __name__ == '__main__':
    app = QApplication(sys.argv)
    node = QRemoteObjectNode(QUrl("local:registry"))
    node.setHeartbeatInterval(1000)
    view = QTreeView()
    view.setWindowTitle("RemoteView")
    view.resize(640,480)
    model = node.acquireModel("RemoteModel")
    view.setModel(model)
    view.show()

    sys.exit(app.exec_())
Beispiel #14
0
    def setupUi(self, LoginFNSDialog):
        if not LoginFNSDialog.objectName():
            LoginFNSDialog.setObjectName(u"LoginFNSDialog")
        LoginFNSDialog.resize(400, 500)
        self.verticalLayout_3 = QVBoxLayout(LoginFNSDialog)
        self.verticalLayout_3.setSpacing(6)
        self.verticalLayout_3.setObjectName(u"verticalLayout_3")
        self.verticalLayout_3.setContentsMargins(2, 2, 2, 2)
        self.LoginMethodTabs = QTabWidget(LoginFNSDialog)
        self.LoginMethodTabs.setObjectName(u"LoginMethodTabs")
        self.LoginSMSTab = QWidget()
        self.LoginSMSTab.setObjectName(u"LoginSMSTab")
        self.verticalLayout_7 = QVBoxLayout(self.LoginSMSTab)
        self.verticalLayout_7.setSpacing(2)
        self.verticalLayout_7.setObjectName(u"verticalLayout_7")
        self.verticalLayout_7.setContentsMargins(0, 0, 0, 0)
        self.PhoneNumberFrame = QFrame(self.LoginSMSTab)
        self.PhoneNumberFrame.setObjectName(u"PhoneNumberFrame")
        self.PhoneNumberFrame.setFrameShape(QFrame.NoFrame)
        self.PhoneNumberFrame.setFrameShadow(QFrame.Plain)
        self.formLayout_2 = QFormLayout(self.PhoneNumberFrame)
        self.formLayout_2.setObjectName(u"formLayout_2")
        self.formLayout_2.setContentsMargins(6, -1, 6, 0)
        self.PhoneLbl = QLabel(self.PhoneNumberFrame)
        self.PhoneLbl.setObjectName(u"PhoneLbl")

        self.formLayout_2.setWidget(0, QFormLayout.LabelRole, self.PhoneLbl)

        self.PhoneNumberEdit = QLineEdit(self.PhoneNumberFrame)
        self.PhoneNumberEdit.setObjectName(u"PhoneNumberEdit")
        self.PhoneNumberEdit.setInputMask(u"+7-999-999-99-99;_")

        self.formLayout_2.setWidget(0, QFormLayout.FieldRole,
                                    self.PhoneNumberEdit)

        self.verticalLayout_7.addWidget(self.PhoneNumberFrame)

        self.CodeButtonFrame = QFrame(self.LoginSMSTab)
        self.CodeButtonFrame.setObjectName(u"CodeButtonFrame")
        self.CodeButtonFrame.setFrameShape(QFrame.NoFrame)
        self.CodeButtonFrame.setFrameShadow(QFrame.Plain)
        self.verticalLayout_8 = QVBoxLayout(self.CodeButtonFrame)
        self.verticalLayout_8.setObjectName(u"verticalLayout_8")
        self.verticalLayout_8.setContentsMargins(0, 6, 0, 0)
        self.GetCodeBtn = QPushButton(self.CodeButtonFrame)
        self.GetCodeBtn.setObjectName(u"GetCodeBtn")
        sizePolicy = QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.GetCodeBtn.sizePolicy().hasHeightForWidth())
        self.GetCodeBtn.setSizePolicy(sizePolicy)

        self.verticalLayout_8.addWidget(self.GetCodeBtn, 0, Qt.AlignHCenter)

        self.verticalLayout_7.addWidget(self.CodeButtonFrame)

        self.CodeFrame = QFrame(self.LoginSMSTab)
        self.CodeFrame.setObjectName(u"CodeFrame")
        self.CodeFrame.setFrameShape(QFrame.NoFrame)
        self.CodeFrame.setFrameShadow(QFrame.Plain)
        self.formLayout_3 = QFormLayout(self.CodeFrame)
        self.formLayout_3.setObjectName(u"formLayout_3")
        self.formLayout_3.setContentsMargins(6, -1, 6, 0)
        self.CodeLbl = QLabel(self.CodeFrame)
        self.CodeLbl.setObjectName(u"CodeLbl")

        self.formLayout_3.setWidget(0, QFormLayout.LabelRole, self.CodeLbl)

        self.CodeEdit = QLineEdit(self.CodeFrame)
        self.CodeEdit.setObjectName(u"CodeEdit")

        self.formLayout_3.setWidget(0, QFormLayout.FieldRole, self.CodeEdit)

        self.verticalLayout_7.addWidget(self.CodeFrame)

        self.SMSButtonFrame = QFrame(self.LoginSMSTab)
        self.SMSButtonFrame.setObjectName(u"SMSButtonFrame")
        sizePolicy1 = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding)
        sizePolicy1.setHorizontalStretch(0)
        sizePolicy1.setVerticalStretch(0)
        sizePolicy1.setHeightForWidth(
            self.SMSButtonFrame.sizePolicy().hasHeightForWidth())
        self.SMSButtonFrame.setSizePolicy(sizePolicy1)
        self.SMSButtonFrame.setFrameShape(QFrame.NoFrame)
        self.SMSButtonFrame.setFrameShadow(QFrame.Plain)
        self.verticalLayout_10 = QVBoxLayout(self.SMSButtonFrame)
        self.verticalLayout_10.setObjectName(u"verticalLayout_10")
        self.verticalLayout_10.setContentsMargins(0, 0, 0, 6)
        self.frame = QFrame(self.SMSButtonFrame)
        self.frame.setObjectName(u"frame")
        sizePolicy1.setHeightForWidth(
            self.frame.sizePolicy().hasHeightForWidth())
        self.frame.setSizePolicy(sizePolicy1)
        self.frame.setFrameShape(QFrame.NoFrame)
        self.frame.setFrameShadow(QFrame.Plain)
        self.verticalLayout_9 = QVBoxLayout(self.frame)
        self.verticalLayout_9.setObjectName(u"verticalLayout_9")
        self.SMSLoginBtn = QPushButton(self.frame)
        self.SMSLoginBtn.setObjectName(u"SMSLoginBtn")
        sizePolicy.setHeightForWidth(
            self.SMSLoginBtn.sizePolicy().hasHeightForWidth())
        self.SMSLoginBtn.setSizePolicy(sizePolicy)

        self.verticalLayout_9.addWidget(self.SMSLoginBtn, 0,
                                        Qt.AlignHCenter | Qt.AlignTop)

        self.verticalLayout_10.addWidget(self.frame)

        self.line = QFrame(self.SMSButtonFrame)
        self.line.setObjectName(u"line")
        self.line.setFrameShape(QFrame.HLine)
        self.line.setFrameShadow(QFrame.Sunken)

        self.verticalLayout_10.addWidget(self.line)

        self.SMSCloseBtn = QPushButton(self.SMSButtonFrame)
        self.SMSCloseBtn.setObjectName(u"SMSCloseBtn")
        sizePolicy.setHeightForWidth(
            self.SMSCloseBtn.sizePolicy().hasHeightForWidth())
        self.SMSCloseBtn.setSizePolicy(sizePolicy)

        self.verticalLayout_10.addWidget(self.SMSCloseBtn, 0, Qt.AlignHCenter)

        self.verticalLayout_7.addWidget(self.SMSButtonFrame)

        self.LoginMethodTabs.addTab(self.LoginSMSTab, "")
        self.LoginPasswordTab = QWidget()
        self.LoginPasswordTab.setObjectName(u"LoginPasswordTab")
        self.verticalLayout = QVBoxLayout(self.LoginPasswordTab)
        self.verticalLayout.setSpacing(2)
        self.verticalLayout.setObjectName(u"verticalLayout")
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
        self.LoginDataFrame = QFrame(self.LoginPasswordTab)
        self.LoginDataFrame.setObjectName(u"LoginDataFrame")
        sizePolicy2 = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred)
        sizePolicy2.setHorizontalStretch(0)
        sizePolicy2.setVerticalStretch(0)
        sizePolicy2.setHeightForWidth(
            self.LoginDataFrame.sizePolicy().hasHeightForWidth())
        self.LoginDataFrame.setSizePolicy(sizePolicy2)
        self.LoginDataFrame.setFrameShape(QFrame.NoFrame)
        self.LoginDataFrame.setFrameShadow(QFrame.Plain)
        self.formLayout = QFormLayout(self.LoginDataFrame)
        self.formLayout.setObjectName(u"formLayout")
        self.formLayout.setHorizontalSpacing(6)
        self.formLayout.setContentsMargins(6, -1, 6, 0)
        self.InnLbl = QLabel(self.LoginDataFrame)
        self.InnLbl.setObjectName(u"InnLbl")

        self.formLayout.setWidget(0, QFormLayout.LabelRole, self.InnLbl)

        self.InnEdit = QLineEdit(self.LoginDataFrame)
        self.InnEdit.setObjectName(u"InnEdit")

        self.formLayout.setWidget(0, QFormLayout.FieldRole, self.InnEdit)

        self.PasswordLbl = QLabel(self.LoginDataFrame)
        self.PasswordLbl.setObjectName(u"PasswordLbl")

        self.formLayout.setWidget(1, QFormLayout.LabelRole, self.PasswordLbl)

        self.PasswordEdit = QLineEdit(self.LoginDataFrame)
        self.PasswordEdit.setObjectName(u"PasswordEdit")
        self.PasswordEdit.setEchoMode(QLineEdit.Password)

        self.formLayout.setWidget(1, QFormLayout.FieldRole, self.PasswordEdit)

        self.verticalLayout.addWidget(self.LoginDataFrame)

        self.FNSButtonFrame = QFrame(self.LoginPasswordTab)
        self.FNSButtonFrame.setObjectName(u"FNSButtonFrame")
        self.FNSButtonFrame.setFrameShape(QFrame.NoFrame)
        self.FNSButtonFrame.setFrameShadow(QFrame.Plain)
        self.verticalLayout_4 = QVBoxLayout(self.FNSButtonFrame)
        self.verticalLayout_4.setSpacing(6)
        self.verticalLayout_4.setObjectName(u"verticalLayout_4")
        self.verticalLayout_4.setContentsMargins(0, 0, 0, 6)
        self.FNSLoginFrame = QFrame(self.FNSButtonFrame)
        self.FNSLoginFrame.setObjectName(u"FNSLoginFrame")
        sizePolicy1.setHeightForWidth(
            self.FNSLoginFrame.sizePolicy().hasHeightForWidth())
        self.FNSLoginFrame.setSizePolicy(sizePolicy1)
        self.FNSLoginFrame.setFrameShape(QFrame.NoFrame)
        self.FNSLoginFrame.setFrameShadow(QFrame.Plain)
        self.verticalLayout_5 = QVBoxLayout(self.FNSLoginFrame)
        self.verticalLayout_5.setObjectName(u"verticalLayout_5")
        self.FNSLoginBtn = QPushButton(self.FNSLoginFrame)
        self.FNSLoginBtn.setObjectName(u"FNSLoginBtn")
        sizePolicy.setHeightForWidth(
            self.FNSLoginBtn.sizePolicy().hasHeightForWidth())
        self.FNSLoginBtn.setSizePolicy(sizePolicy)

        self.verticalLayout_5.addWidget(self.FNSLoginBtn, 0,
                                        Qt.AlignHCenter | Qt.AlignTop)

        self.verticalLayout_4.addWidget(self.FNSLoginFrame)

        self.FNSSplitLine = QFrame(self.FNSButtonFrame)
        self.FNSSplitLine.setObjectName(u"FNSSplitLine")
        self.FNSSplitLine.setFrameShape(QFrame.HLine)
        self.FNSSplitLine.setFrameShadow(QFrame.Sunken)

        self.verticalLayout_4.addWidget(self.FNSSplitLine)

        self.FNSCloseBtn = QPushButton(self.FNSButtonFrame)
        self.FNSCloseBtn.setObjectName(u"FNSCloseBtn")
        sizePolicy.setHeightForWidth(
            self.FNSCloseBtn.sizePolicy().hasHeightForWidth())
        self.FNSCloseBtn.setSizePolicy(sizePolicy)

        self.verticalLayout_4.addWidget(self.FNSCloseBtn, 0, Qt.AlignHCenter)

        self.verticalLayout.addWidget(self.FNSButtonFrame)

        self.LoginMethodTabs.addTab(self.LoginPasswordTab, "")
        self.ESIATab = QWidget()
        self.ESIATab.setObjectName(u"ESIATab")
        self.verticalLayout_2 = QVBoxLayout(self.ESIATab)
        self.verticalLayout_2.setSpacing(2)
        self.verticalLayout_2.setObjectName(u"verticalLayout_2")
        self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
        self.ESIAWebView = QWebEngineView(self.ESIATab)
        self.ESIAWebView.setObjectName(u"ESIAWebView")
        sizePolicy1.setHeightForWidth(
            self.ESIAWebView.sizePolicy().hasHeightForWidth())
        self.ESIAWebView.setSizePolicy(sizePolicy1)
        self.ESIAWebView.setUrl(QUrl(u"about:blank"))

        self.verticalLayout_2.addWidget(self.ESIAWebView)

        self.ESIAButtonFrame = QFrame(self.ESIATab)
        self.ESIAButtonFrame.setObjectName(u"ESIAButtonFrame")
        self.ESIAButtonFrame.setFrameShape(QFrame.NoFrame)
        self.ESIAButtonFrame.setFrameShadow(QFrame.Plain)
        self.verticalLayout_6 = QVBoxLayout(self.ESIAButtonFrame)
        self.verticalLayout_6.setObjectName(u"verticalLayout_6")
        self.verticalLayout_6.setContentsMargins(0, 0, 0, 6)
        self.ESIASplitLine = QFrame(self.ESIAButtonFrame)
        self.ESIASplitLine.setObjectName(u"ESIASplitLine")
        self.ESIASplitLine.setFrameShape(QFrame.HLine)
        self.ESIASplitLine.setFrameShadow(QFrame.Sunken)

        self.verticalLayout_6.addWidget(self.ESIASplitLine)

        self.ESIACloseBtn = QPushButton(self.ESIAButtonFrame)
        self.ESIACloseBtn.setObjectName(u"ESIACloseBtn")
        sizePolicy.setHeightForWidth(
            self.ESIACloseBtn.sizePolicy().hasHeightForWidth())
        self.ESIACloseBtn.setSizePolicy(sizePolicy)

        self.verticalLayout_6.addWidget(self.ESIACloseBtn, 0, Qt.AlignHCenter)

        self.verticalLayout_2.addWidget(self.ESIAButtonFrame)

        self.LoginMethodTabs.addTab(self.ESIATab, "")

        self.verticalLayout_3.addWidget(self.LoginMethodTabs)

        self.retranslateUi(LoginFNSDialog)
        self.FNSCloseBtn.clicked.connect(LoginFNSDialog.close)
        self.ESIACloseBtn.clicked.connect(LoginFNSDialog.close)
        self.SMSCloseBtn.clicked.connect(LoginFNSDialog.close)

        self.LoginMethodTabs.setCurrentIndex(0)

        QMetaObject.connectSlotsByName(LoginFNSDialog)
Beispiel #15
0
 def tutorial(self, file_path):
     print('Tutorial Clicked!')
     self.browser.load(QUrl(self.url))
     self.browser.show()
Beispiel #16
0
def open_file_url(url):
    QDesktopServices.openUrl(QUrl("file:///" + url))
Beispiel #17
0
    @Slot(str)
    def outputStr(self, s):
        print(s)

    @Slot('double')
    def outputFloat(self, x):
        print(x)


if __name__ == '__main__':
    app = QGuiApplication(sys.argv)
    view = QQuickView()

    # Instantiate the Python object.
    con = Console()

    # Expose the object to QML.
    context = view.rootContext()
    context.setContextProperty("con", con)

    #qml_file = os.fspath(Path(__file__).resolve().parent / 'qml_test2.qml')
    view.setSource(QUrl("Source/away_from_keyboard/qml_test2.qml"))
    if view.status() == QQuickView.Error:
        sys.exit(-1)
    view.show()
    res = app.exec_()
    # Deleting the view before it goes out of scope is required to make sure all child QML instances
    # are destroyed in the correct order.
    del view
    sys.exit(res)
Beispiel #18
0
 def select_header_file(self):
     '''
     通过点击select按钮选择headers.json
     '''
     fileName, selectedFilter = QFileDialog.getOpenFileUrl(None, caption="select headers.json", dir=QUrl("file://."))
     if isinstance(fileName, QUrl):
         path = fileName.toLocalFile()
         if os.path.exists(path):
             self.lineEdit_headers_path.clear()
             self.lineEdit_headers_path.setText(path)
             self.load_from_file()
Beispiel #19
0
    def open_version_link(self):
        if self._current_version_url is None:
            raise RuntimeError(
                "Called open_version_link, but _current_version_url is None")

        QtGui.QDesktopServices.openUrl(QUrl(self._current_version_url))
Beispiel #20
0
from PySide6.QtWidgets import QApplication
from PySide6.QtQuick import QQuickView
from PySide6.QtCore import QUrl

app = QApplication([])
view = QQuickView()
url = QUrl("Source/away_from_keyboard/main.qml")

view.setSource(url)
view.show()
app.exec_()
Beispiel #21
0
 def network(self):
     url = QUrl("http://127.0.0.1:8000/excel_get")
     res = QNetworkRequest(url)
     self.nm.get(res)
Beispiel #22
0
# This Python file uses the following encoding: utf-8
import sys
from PySide6.QtWidgets import QApplication
from PySide6.QtCore import QUrl
from PySide6.QtQml import qmlRegisterType, QQmlApplicationEngine
from PySide6.QtCore import Slot
import SerialPortListener
import SimpleFOCScope

qmlRegisterType(SerialPortListener.SimpleFOCSerialScope, "SimpleFOC", 1, 0,
                "SimpleFOCSerialScope")
qmlRegisterType(SimpleFOCScope.SimpleFOCScope, "SimpleFOC", 1, 0,
                "SimpleFOCScope")
if __name__ == "__main__":

    app = QApplication(sys.argv)  # <---

    engine = QQmlApplicationEngine()
    engine.load(QUrl("main.qml"))

    if not engine.rootObjects():
        sys.exit(-1)

    win = engine.rootObjects()[0]
    win.show()
    sys.exit(app.exec())
 def url(self):
     index = self.currentIndex()
     return self._webengineviews[index].url() if index >= 0 else QUrl()
Beispiel #24
0
from PySide6.QtCore import QUrl
from PySide6.QtGui import QGuiApplication
from PySide6.QtQuick import QQuickView
import sys

VIEW_PATH = "view.qml"

# Create the application object and pass command line arguments to it
app = QGuiApplication(sys.argv)

# Create the view object
view = QQuickView()
# Set the QML file to view
view.setSource(QUrl(VIEW_PATH))
# Resize the view with the window
view.setResizeMode(QQuickView.ResizeMode.SizeRootObjectToView)
# Show the view (open the window)
view.show()

# Run the event loop
app.exec_()
Beispiel #25
0
            self.load_from_json(filename)

    def load_from_json(self,filename):
        """Load list of cities from given file"""
        with open(filename,encoding="utf-8") as f:
            self.city_list = json.load(f)

    def rowCount(self, parent:QtCore.QModelIndex=...) -> int:
        """ Return number of cities in the list"""
        return len(self.city_list)

    def data(self, index:QtCore.QModelIndex, role:int=...) -> typing.Any:
        """ For given index and DisplayRole return name of the selected city"""
        # Return None if the index is not valid
        if not index.isValid():
            return None
        # If the role is the DisplayRole, return name of the city
        if role == QtCore.Qt.DisplayRole:
            return self.city_list[index.row()]["muniLabel"]


app = QGuiApplication(sys.argv)
view = QQuickView()
url = QUrl(VIEW_URL)
citylist_model = CityListModel(CITY_LIST_FILE)
ctxt = view.rootContext()
ctxt.setContextProperty('cityListModel',citylist_model)
view.setSource(url)
view.show()
app.exec_()
    def setupMenu(self) -> None:
        self.setMenuBar(QMenuBar(self))
        settings = QSettings()

        # mods menu

        menuMods: QMenu = self.menuBar().addMenu('&Mods')

        downIcon = QIcon(str(getRuntimePath('resources/icons/down.ico')))
        gearIcon = QIcon(str(getRuntimePath('resources/icons/gear.ico')))
        dirsIcon = QIcon(str(
            getRuntimePath('resources/icons/open-folder.ico')))
        colrIcon = QIcon(
            str(getRuntimePath('resources/icons/color-circle.ico')))
        smilIcon = QIcon(str(getRuntimePath('resources/icons/smile.ico')))

        actionAddModFromFile = menuMods.addAction('&Add Mods')
        actionAddModFromFile.triggered.connect(self.showAddModFromFileDialog)
        actionAddModFromFolder = menuMods.addAction('Add u&npacked Mod')
        actionAddModFromFolder.triggered.connect(
            self.showAddModFromFolderDialog)
        actionDownloadMod = menuMods.addAction('&Download Mod')
        actionDownloadMod.setIcon(downIcon)
        actionDownloadMod.triggered.connect(self.showDownloadModDialog)

        menuMods.addSeparator()
        actionGetInfo = menuMods.addAction('Update Mod de&tails')
        actionGetInfo.setIcon(downIcon)
        actionGetInfo.triggered.connect(self.showGetInfoDialog)
        actionGetUpdates = menuMods.addAction('Check for Mod &updates')
        actionGetUpdates.setIcon(downIcon)
        actionGetUpdates.triggered.connect(self.showGetUpdatesDialog)

        menuMods.addSeparator()
        actionExport = menuMods.addAction('&Export Modlist')
        actionExport.triggered.connect(self.showExportDialog)

        menuMods.aboutToShow.connect(lambda: [
            actionDownloadMod.setDisabled(not str(settings.value('nexusAPIKey'))),
            actionGetInfo.setDisabled(
                not str(settings.value('nexusAPIKey')) or \
                not len(self.model) or \
                not self.mainwidget.modlist.selectionModel().hasSelection()),
            actionGetUpdates.setDisabled(
                not str(settings.value('nexusAPIKey')) or \
                not len(self.model) or \
                not self.mainwidget.modlist.selectionModel().hasSelection()),
            actionExport.setDisabled(not len(self.model))
        ])

        # view menu

        menuView: QMenu = self.menuBar().addMenu('&View')

        showSummary = menuView.addAction('Show &Summary')
        showSummary.setCheckable(True)
        showSummary.setChecked(settings.value('showSummary', 'True') == 'True')
        showSummary.triggered.connect(lambda checked: [
            settings.setValue('showSummary', str(checked)),
            self.mainwidget.summary.setVisible(checked)
        ])
        menuView.addSeparator()

        toggleHighlightNewest = menuView.addAction('Highlight &Newest')
        toggleHighlightNewest.setCheckable(True)
        toggleHighlightNewest.setChecked(
            settings.value('highlightNewest', 'True') == 'True')
        toggleHighlightNewest.triggered.connect(lambda checked: [
            settings.setValue('highlightNewest', str(checked)),
            self.model.updateCallbacks.fire(self.model)
        ])
        iconHighlightNewest = QPixmap(256, 256)
        iconHighlightNewest.fill(Qt.transparent)
        painter = QPainter(iconHighlightNewest)
        painter.setBrush(QBrush(QColor(222, 255, 222)))
        painter.drawEllipse(10, 10, 236, 236)
        toggleHighlightNewest.setIcon(QIcon(iconHighlightNewest))
        painter.end()

        toggleHighlightRecent = menuView.addAction('Highlight &Recent')
        toggleHighlightRecent.setCheckable(True)
        toggleHighlightRecent.setChecked(
            settings.value('highlightRecent', 'True') == 'True')
        toggleHighlightRecent.triggered.connect(lambda checked: [
            settings.setValue('highlightRecent', str(checked)),
            self.model.updateCallbacks.fire(self.model)
        ])
        iconHighlightRecent = QPixmap(256, 256)
        iconHighlightRecent.fill(Qt.transparent)
        painter = QPainter(iconHighlightRecent)
        painter.setBrush(QBrush(QColor(222, 226, 255)))
        painter.drawEllipse(10, 10, 236, 236)
        toggleHighlightRecent.setIcon(QIcon(iconHighlightRecent))
        painter.end()

        toggleHighlightUnmanaged = menuView.addAction('Highlight &Unmanaged')
        toggleHighlightUnmanaged.setCheckable(True)
        toggleHighlightUnmanaged.setChecked(
            settings.value('highlightUnmanaged', 'True') == 'True')
        toggleHighlightUnmanaged.triggered.connect(lambda checked: [
            settings.setValue('highlightUnmanaged', str(checked)),
            self.model.updateCallbacks.fire(self.model)
        ])
        iconHighlightUnmanaged = QPixmap(256, 256)
        iconHighlightUnmanaged.fill(Qt.transparent)
        painter = QPainter(iconHighlightUnmanaged)
        painter.setBrush(QBrush(QColor(250, 220, 220)))
        painter.drawEllipse(10, 10, 236, 236)
        toggleHighlightUnmanaged.setIcon(QIcon(iconHighlightUnmanaged))
        painter.end()

        toggleHighlightDisabled = menuView.addAction('Highlight &Disabled')
        toggleHighlightDisabled.setCheckable(True)
        toggleHighlightDisabled.setChecked(
            settings.value('highlightDisabled', 'True') == 'True')
        toggleHighlightDisabled.triggered.connect(lambda checked: [
            settings.setValue('highlightDisabled', str(checked)),
            self.model.updateCallbacks.fire(self.model)
        ])
        iconHighlightDisabled = QPixmap(256, 256)
        iconHighlightDisabled.fill(Qt.transparent)
        painter = QPainter(iconHighlightDisabled)
        painter.setBrush(QBrush(QColor(230, 230, 230)))
        painter.drawEllipse(10, 10, 236, 236)
        toggleHighlightDisabled.setIcon(QIcon(iconHighlightDisabled))
        painter.end()

        menuView.addSeparator()
        toggleColors = menuView.addAction('&Colored Icons')
        toggleColors.setCheckable(True)
        toggleColors.setChecked(settings.value('iconColors', 'True') == 'True')
        toggleColors.triggered.connect(lambda checked: [
            settings.setValue('iconColors', str(checked)),
            self.mainwidget.modlist.listmodel.setIcons(),
            self.model.updateCallbacks.fire(self.model)
        ])
        toggleColors.setIcon(colrIcon)

        menuView.addSeparator()
        toggleCompact = menuView.addAction('Compact &Mode')
        toggleCompact.setCheckable(True)
        toggleCompact.setChecked(
            settings.value('compactMode', 'False') == 'True')
        toggleCompact.triggered.connect(lambda checked: [
            settings.setValue('compactMode', str(checked)),
            self.mainwidget.modlist.setSectionSize(checked)
        ])

        # settings menu

        menuSettings: QMenu = self.menuBar().addMenu('&Tools')
        actionSettings = menuSettings.addAction('&Settings')
        actionSettings.setIcon(gearIcon)
        actionSettings.triggered.connect(self.showSettingsDialog)

        menuSettings.addSeparator()
        actionOpenGameDirectory = menuSettings.addAction(
            'Open &Game directory')
        actionOpenGameDirectory.setIcon(dirsIcon)
        actionOpenGameDirectory.triggered.connect(
            lambda: util.openDirectory(self.model.gamepath))
        actionOpenConfigDirectory = menuSettings.addAction(
            'Open &Config directory')
        actionOpenConfigDirectory.setIcon(dirsIcon)
        actionOpenConfigDirectory.triggered.connect(
            lambda: util.openDirectory(self.model.configpath))

        # info menu

        menuInfo: QMenu = self.menuBar().addMenu('&Info')

        actionFeedback = menuInfo.addAction('Send &Feedback')
        actionFeedback.setIcon(smilIcon)
        actionFeedback.triggered.connect(
            lambda: QDesktopServices.openUrl(QUrl(w3modmanager.URL_ISSUES)))
        menuInfo.addSeparator()
        actionAbout = menuInfo.addAction('&About')
        actionAbout.setIcon(QIcon.fromTheme('document-open'))
        actionAbout.triggered.connect(self.showAboutDialog)