标签: pyqt5

如何将requests.cookiejar转换成qnetworkcookiejar?

有没有一种简单的方法将cookiejarPython 3 requests转换为qnetworkcookiejar

我将cookiejar请求库转换为字典,然后转换为qnetworkcookiejar.有些cookie有多个版本,有不同的值.

def updateCookieJar(self, cookiejar, requested_url):     
    qnetworkcookie_list = []
    cookie_dict = dict_from_cookiejar(cookiejar)
    for cookie in cookie_dict: 
        tmp_cookiejar = QNetworkCookie(cookie, cookie_dict[cookie])
        qnetworkcookie_list.append(tmp_cookiejar)
    qcookiejar = QNetworkCookieJar()
    qcookiejar.setCookiesFromUrl(qnetworkcookie_list, QUrl(requested_url))
    self.networkAccessManager().setCookieJar(qcookiejar)
Run Code Online (Sandbox Code Playgroud)

这个函数在a里面调用Webpage.

python qt pyqt python-3.x pyqt5

15
推荐指数
1
解决办法
709
查看次数

pip install pyqt5,无法继续

 Successfully installed PyQt-builder-1.13.0 packaging-21.3 ply-3.11 pyparsing-3.0.9 setuptools-65.3.0 sip-6.6.2 toml-0.10.2
  Cleaning up...
    Removing source in /tmp/pip-install-2gmr_frd/sip
  Removed build tracker: '/tmp/pip-req-tracker-vuj8lfsc'
  Installing build dependencies ... done
  Running command /usr/bin/python3 /tmp/tmppi_h1r7x get_requires_for_build_wheel /tmp/tmpx88x82dh
  Getting requirements to build wheel ... done
    Created temporary directory: /tmp/pip-modern-metadata-b__1na9b
    Running command /usr/bin/python3 /tmp/tmpwp46ffki prepare_metadata_for_build_wheel /tmp/tmpxrg1n2t9
    Querying qmake about your Qt installation...
    This is the GPL version of PyQt 5.15.7 (licensed under the GNU General Public License) for Python 3.8.2 on linux.

    Type 'L' to view the license.
    Type …
Run Code Online (Sandbox Code Playgroud)

python pip pyqt5

15
推荐指数
1
解决办法
6627
查看次数

如何使用PyQt更改光标形状?

我有一个简单的应用程序,它运行一个可以在完成之前持续几分钟的过程.所以我试图向用户提供一个指示器,它正在处理请求,例如将光标更改为沙漏.

但我不能让它正常工作.我的所有尝试都导致错误或无效.我似乎错误地调用了cursorshapes PyQt4.Qt.WaitCursor返回一个模块不包含它的错误.

向用户指示进程正在运行的正确方法是什么?

python pyqt cursor pyqt4 pyqt5

14
推荐指数
3
解决办法
2万
查看次数

ImportError:无法在PyQt5中导入名称'QStringList'

我正在使用PyQt5但无法导入QStringList.我知道QStringList曾经在PyQt4的模块QtCore中.所以我尝试使用导入类

from PyQt5.QtCore import QStringList
Run Code Online (Sandbox Code Playgroud)

但它显示了这个错误

C:\Python34\python.exe C:/Users/User/PycharmProjects/FirstProject/Test.py
Traceback (most recent call last):
File "C:/Users/User/PycharmProjects/FirstProject/Test.py", line 3, in <module>
from PyQt5.QtCore import QStringList
ImportError: cannot import name 'QStringList'
Run Code Online (Sandbox Code Playgroud)

我正在使用PyCharm,它在自动完成中显示一个名为QStringListModel的东西.我正在阅读Mark Summerfield撰写的"使用Python和Qt进行快速GUI开发"一书.如何在PyQt5中使用QStringList或其他任何可以完成QStringList工作的东西?

python import qstring python-3.x pyqt5

14
推荐指数
1
解决办法
2万
查看次数

pylint找不到QWidget和QApplication

import sys
from PyQt5.QtWidgets import (QApplication, QWidget)
app = QApplication(sys.argv)
window = QWidget()
window.setGeometry(50, 50, 500, 300)
window.setWindowTitle('Hello, world')
window.show()
sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)

我刚开始学习pyqt5.我写了这个hello world app,它有效.但是pylint在模块"PyQt5.QtWidgets"中给出了"E0611:No name'QWidget'",对于QApplication也是如此.这是pylint中的某种错误吗?

pylint --version
No config file found, using default configuration
pylint 1.7.2, 
astroid 1.5.3
Python 3.5.2 (default, Aug 18 2017, 17:48:00) 
[GCC 5.4.0 20160609]
Run Code Online (Sandbox Code Playgroud)

python pyqt pylint pyqt5

14
推荐指数
2
解决办法
1万
查看次数

如何向QsciLexerCustom子类添加折叠?

请考虑以下代码段:

import sys
import textwrap
import re

from PyQt5.Qt import *  # noqa

from PyQt5.Qsci import QsciScintilla
from PyQt5.Qsci import QsciLexerCustom

from lark import Lark, inline_args, Transformer


class LexerJson(QsciLexerCustom):

    def __init__(self, parent=None):
        super().__init__(parent)
        self.create_grammar()
        self.create_styles()

    def create_styles(self):
        deeppink = QColor(249, 38, 114)
        khaki = QColor(230, 219, 116)
        mediumpurple = QColor(174, 129, 255)
        mediumturquoise = QColor(81, 217, 205)
        yellowgreen = QColor(166, 226, 46)
        lightcyan = QColor(213, 248, 232)
        darkslategrey = QColor(39, 40, 34)

        styles = {
            0: mediumturquoise,
            1: mediumpurple,
            2: …
Run Code Online (Sandbox Code Playgroud)

python pyqt qscintilla pyqt5 lark-parser

14
推荐指数
1
解决办法
419
查看次数

由于当前正在运行“无头”,因此无法加载需要“ qt5”交互式框架的后端“ Qt5Agg”

我正在尝试将Qt用作matplotlib后端。我已经在kaggle和google colab上进行了检查,但是问题是相同的。

当我写

%matplotlib qt5
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

ImportError: Cannot load backend 'Qt5Agg' which requires the 'qt5' interactive framework, as 'headless' is currently running
Run Code Online (Sandbox Code Playgroud)

当我打印默认后端时,它已经是Qt5Agg

import matplotlib
print(matplotlib.get_backend())
Run Code Online (Sandbox Code Playgroud)

matplotlib python-3.x pyqt5

14
推荐指数
1
解决办法
1463
查看次数

如何在Windows上为Python 2安装PyQt5?

我正在移植一个Python 2应用程序,它使用从Linux到Windows的PyQt5.

问题:如何在Windows上安装PyQt5?

我尝试过的:

  1. pip install PyQt5 失败了:

    Downloading/unpacking PyQt5
      Could not find any downloads that satisfy the requirement PyQt5
    Cleaning up...
    No distributions at all found for PyQt5
    Storing debug log for failure in C:\Users\user\pip\pip.log
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在官方网站上寻找Windows安装程序,但只有PyQt4安装程序可用于Python 2.

我该怎么办?

python-2.7 pyqt5

13
推荐指数
2
解决办法
3万
查看次数

PyQt:退出时没有错误消息(追溯)

我的PyQt应用程序不再将错误(stderr?)打印到控制台.

我使用QtDesigner并导入这样的UI:

from PyQt5 import QtCore, QtGui, QtWidgets
import sys
from PyQt5.uic import loadUiType
Ui_MainWindow, QMainWindow = loadUiType("test.ui")

class Main(QMainWindow, Ui_MainWindow):
    """Main window"""
    def __init__(self,parent=None):
        super(Main, self).__init__(parent)
        self.setupUi(self)
        self.pushButton.clicked.connect(self.testfunc)

   def testfunc(self):
        print(9/0)

if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    main = Main()
    main.show()
    sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)

test.ui包含QPushButton和标签.当我在非Qt应用程序中调用testfunc(显然会出现错误)时,我会收到错误消息,回溯等.当我执行此代码时,它只是退出.

之前我没有使用QtDesigner写了一个PyQt应用程序,它按预期将错误打印到控制台.与QtDesigner和继承有什么区别?

python pyqt qt-designer pycharm pyqt5

13
推荐指数
1
解决办法
7257
查看次数

使用Qt Designer表单和PyQt5在QWidget中绘制matplotlib图

我不明白将matplotlib图形链接到从Qt Designer创建的表单的最佳方法.我有一个我在QtDesigner中创建的表单,然后通过pyuic5编译为python.我的主要计划是:

import app_framework as af
import matplotlib
from PyQt5 import QtWidgets
import sys

matplotlib.use('Qt5Agg')

app = QtWidgets.QApplication(sys.argv)
form = af.MyApp()
form.show()
app.exec_()
Run Code Online (Sandbox Code Playgroud)

其中myApp调用从Qt Designer创建的app_framework.py表单,然后由pyuic5(design.py)转换:

from PyQt5.QtWidgets import QApplication, QMainWindow
import design

class MyApp(QMainWindow, design.Ui_mainWindow):
   def __init(self):
       super(self.__class__, self).__init__()
       <button initializations>
       <function definitions for button callbacks>
Run Code Online (Sandbox Code Playgroud)

我很困惑在这个框架中我可以将matplotlib图形链接到QtDesigner中的预制空窗口小部件,或类似的东西,这样我就可以在GUI窗口中绘制新数据(事情发生,按钮按下)等)

我在SOmatplotlib的网站上找到了一些线程,但我不确定我是否理解在Qt Designer表单中为这个小部件创建空间的正确过程,然后链接一个绘图,和/或创建一个小部件post hoc和然后链接和绘图.

到目前为止我所做的是在Qt Creator中创建一个空的QWidget,然后在pyuic5编译之后,我改变了design.py文件,如下所示:

from PyQt5 import QtCore, QtGui, QtWidgets

# **** ADDED THIS
from matplotlib.figure import Figure
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as Canvas
# **** 

class Ui_mainWindow(object): …
Run Code Online (Sandbox Code Playgroud)

python matplotlib pyqt5 matplotlib-widget

13
推荐指数
1
解决办法
2万
查看次数