Beachten Sie bei der Verwendung von PyQtGraph mit Python Pyside die Reihenfolge des Imports

Speichern Sie dies vorerst als im.py und führen Sie es aus.

from PySide import QtCore, QtGui
import pyqtgraph as pg

class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") self.centralwidget = QtGui.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") MainWindow.setCentralWidget(self.centralwidget)

    <span style="color: #008000">self</span><span style="color: #666666">.</span>verticalLayout <span style="color: #666666">=</span> QtGui<span style="color: #666666">.</span>QVBoxLayout(<span style="color: #008000">self</span><span style="color: #666666">.</span>centralwidget)
    <span style="color: #008000">self</span><span style="color: #666666">.</span>verticalLayout<span style="color: #666666">.</span>setObjectName(<span style="color: #BA2121">&quot;verticalLayout&quot;</span>)

    <span style="color: #008000">self</span><span style="color: #666666">.</span>graph01 <span style="color: #666666">=</span> pg<span style="color: #666666">.</span>PlotWidget(<span style="color: #008000">self</span><span style="color: #666666">.</span>centralwidget)
    <span style="color: #008000">self</span><span style="color: #666666">.</span>graph01<span style="color: #666666">.</span>setObjectName(<span style="color: #BA2121">&quot;graph01&quot;</span>)
    <span style="color: #008000">self</span><span style="color: #666666">.</span>verticalLayout<span style="color: #666666">.</span>addWidget(<span style="color: #008000">self</span><span style="color: #666666">.</span>graph01)
    
    <span style="color: #008000">self</span><span style="color: #666666">.</span>psbtn <span style="color: #666666">=</span> QtGui<span style="color: #666666">.</span>QPushButton(<span style="color: #008000">self</span><span style="color: #666666">.</span>centralwidget)
    <span style="color: #008000">self</span><span style="color: #666666">.</span>psbtn<span style="color: #666666">.</span>setObjectName(<span style="color: #BA2121">&quot;psbtn&quot;</span>)
    <span style="color: #008000">self</span><span style="color: #666666">.</span>psbtn<span style="color: #666666">.</span>setText(<span style="color: #BA2121">&quot;Plot&quot;</span>)
    <span style="color: #008000">self</span><span style="color: #666666">.</span>verticalLayout<span style="color: #666666">.</span>addWidget(<span style="color: #008000">self</span><span style="color: #666666">.</span>psbtn)

    QtCore<span style="color: #666666">.</span>QObject<span style="color: #666666">.</span>connect(<span style="color: #008000">self</span><span style="color: #666666">.</span>psbtn, QtCore<span style="color: #666666">.</span>SIGNAL(<span style="color: #BA2121">&quot;clicked()&quot;</span>), <span style="color: #008000">self</span><span style="color: #666666">.</span>plot)
    

<span style="color: #008000; font-weight: bold">def</span> <span style="color: #0000FF">plot</span>(<span style="color: #008000">self</span>):
    frq <span style="color: #666666">=</span> <span style="color: #666666">10.0</span>
    duration <span style="color: #666666">=</span> <span style="color: #666666">1.0</span>
    samples <span style="color: #666666">=</span> <span style="color: #666666">1001</span>
    x <span style="color: #666666">=</span> np<span style="color: #666666">.</span>linspace(<span style="color: #666666">0</span>, duration, samples)
    rad <span style="color: #666666">=</span> np<span style="color: #666666">.</span>linspace(<span style="color: #666666">0</span>, <span style="color: #666666">2</span> <span style="color: #666666">*</span> np<span style="color: #666666">.</span>pi <span style="color: #666666">*</span> frq, samples)
    y <span style="color: #666666">=</span> np<span style="color: #666666">.</span>sin(rad)
    <span style="color: #008000">self</span><span style="color: #666666">.</span>graph01<span style="color: #666666">.</span>plot(x, y)

import sys import numpy as np

pg.setConfigOption('foreground', 'k') pg.setConfigOption('background', 'w')

class ControlMainWindow(QtGui.QMainWindow): def init(self, parent=None): super(ControlMainWindow, self).init(parent) self.ui = Ui_MainWindow() self.ui.setupUi(self)

if name == "main": app = QtGui.QApplication(sys.argv) mySW = ControlMainWindow()#class no instance-ka mySW.show() sys.exit(app.exec_())

Wird so sein

Screenshot from 2016-08-22 11-11-38.png

Wenn Sie die ersten beiden Zeilen tauschen

Mit anderen Worten, in dieser Reihenfolge

import pyqtgraph as pg
from PySide import QtCore, QtGui
Ein Fehler tritt auf. TypeError: arguments did not match any overloaded call: QGraphicsView(QWidget parent=None): argument 1 has unexpected type 'PySide.QtGui.QWidget' QGraphicsView(QGraphicsScene, QWidget parent=None): argument 1 has unexpected type 'PySide.QtGui.QWidget'

Der Grund wurde hier geschrieben

http://www.pyqtgraph.org/documentation/how_to_use.html#pyqt-and-pyside Wahrscheinlich übersetzt.

PyQt und PySide

PyQtGraph unterstützt PyQt und PySide, Python-Wrapper für zwei beliebte QT-Bibliotheken. Beide Pakete bieten fast die gleichen APIs und Funktionen, aber aus verschiedenen Gründen sollten Sie sich für die eine oder andere entscheiden. Wenn pyqtgraph zum ersten Mal importiert wird, bestimmt pyqtgraph automatisch, welche Bibliothek mit den folgenden Prüfpunkten verwendet werden soll:

1 Wenn PyQt4 bereits importiert wurde, verwenden Sie es 2 Andernfalls verwenden Sie PySide, wenn es bereits importiert wurde. 3 Versuchen Sie andernfalls, PyQt4 und zu importieren 4 Wenn der PyQt4-Import fehlschlägt, importieren Sie PySide.

Wenn auf Ihrem System sowohl PyQt4- als auch PySide-Bibliotheken installiert sind und Sie pyqtgraph auf beiden Seiten verwenden möchten, importieren Sie diese Bibliothek einfach, bevor Sie pyqtgraph importieren. Bitte.

import PySide ## this will force pyqtgraph to use PySide instead of PyQt4 import pyqtgraph as pg

Früherer Fehler, Argument 1 hat den unerwarteten Typ 'PySide.QtGui.QWidget'.

In der Zeile self.graph01 = pg.PlotWidget (self.centralwidget) wollte pyqtgraph.PlotWidget etwas von PyQt im Argument haben ↓ 'PySide.QtGui.QWidget' ist eingetroffen. Argument 1 hat einen unerwarteten Typ 'PySide.QtGui.QWidget'. Ich denke das ist der Staat. PyQtGraph Eine Bibliothek zum Plotten in Python. http://www.pyqtgraph.org/

Ist Matplotlib nutzlos?

Nicht schlecht. Matplotlib ist eine Standardbibliothek zum Plotten in Python. PyQtGraph ist jedoch schneller. http://yukara-13.hatenablog.com/entry/2013/12/05/025655

PySide und PyQt

Wenn Sie eine GUI mit Qt in Python erstellen möchten, können Sie zwischen diesen beiden Optionen wählen. Es gibt einen Unterschied zwischen LGPL und GPL in der Lizenz. PySide PL PL ・ LGPL. Ich habe das Gefühl, dass es im Internet nicht viele Informationen gibt, wahrscheinlich weil es nicht viele Leute gibt, die sie verwenden. (Ungefähr 214.000 bei der Suche nach Google) PyQt ・ ・ ・ GPL. Nach links kopieren. Ich habe das Gefühl, dass die Anzahl der Benutzer in den Suchergebnissen angezeigt wird. (Google-Suche 667.000)

Recommended Posts

Beachten Sie bei der Verwendung von PyQtGraph mit Python Pyside die Reihenfolge des Imports
So aktualisieren Sie die Software beim Erstellen von Linux (CentOS) mit Vagrant ~ Am Beispiel eines Upgrades von Python 2.7 auf Python 3.6 ~
Ein Hinweis auf Missverständnisse beim Versuch, das gesamte selbst erstellte Modul mit Python3 zu laden
Ich habe versucht, die Entropie des Bildes mit Python zu finden
Versuchen Sie, den Betrieb von Netzwerkgeräten mit Python zu automatisieren
Vorsichtsmaßnahmen bei der Verwendung von Python mit AtCoder
Dinge, die Sie bei der Verwendung von CGI mit Python beachten sollten.
Liste der zu installierenden Bibliotheken bei der Installation von Python mit Pyenv
Holen Sie sich die Quelle der Seite unbegrenzt mit Python zu laden.
Wie man die Anzahl der GPUs aus Python kennt ~ Hinweise zur Verwendung von Multiprocessing mit pytorch ~
Versuchen Sie, in die Datenbank zu importieren, indem Sie ShapeFile mit numerischen Informationen zum nationalen Land mit Python bearbeiten
Bei Verwendung von MeCab mit virtualenv python
Vorsichtsmaßnahmen bei Verwendung von sechs mit Python 2.5
Ich möchte den Anfang des nächsten Monats mit Python ausgeben
Geben Sie den Inhalt von ~ .xlsx im Ordner mit Python in HTML aus
Von der Einführung von JUMAN ++ bis zur morphologischen Analyse von Japanisch mit Python
Ich habe versucht, die Effizienz der täglichen Arbeit mit Python zu verbessern
PhytoMine-I hat versucht, mit Python die genetischen Informationen der Pflanze zu erhalten
Wenn Sie mehrere Versionen derselben Python-Bibliothek verwenden möchten (virtuelle Umgebung mit venv)
Was tun, wenn bei Verwendung von Python mit der NetBeans-IDE die Warnung "Falsche Python-Plattform" angezeigt wird?
So schneiden Sie den unteren rechten Teil des Bildes mit Python OpenCV
Überprüfen Sie die Existenz der Datei mit Python
Umgang mit OAuth2-Fehlern bei Verwendung von Google APIs aus Python
Python Hinweis: Wenn Sie die Attribute eines Objekts kennen möchten
Versuchen Sie, die Höhendaten des National Land Research Institute mit Python abzubilden
[Einführung in Python] So sortieren Sie den Inhalt einer Liste effizient mit Listensortierung
Arbeiten mit OpenStack mit dem Python SDK
Umgang mit SSL-Fehlern beim Herstellen einer Verbindung zu S3 mit Python boto
Ich habe versucht, den Authentifizierungscode der Qiita-API mit Python abzurufen.
Wie man mit dem Problem umgeht, dass die Erstellung fehlschlägt, wenn CI / CD von Python Function mit AWS Amplify
Ich habe versucht, die Standardrolle neuer Mitarbeiter mit Python zu optimieren
Ich habe versucht, die Filminformationen der TMDb-API mit Python abzurufen
Erhalten und schätzen Sie die Form des Kopfes mit Dlib und OpenCV mit Python
[Einführung in Python] Wie wird mit der continue-Anweisung wiederholt?
Der Weg zum Kompilieren zu Python 3 mit Thrift
[Python] Ich habe versucht, das Mitgliederbild der Idolgruppe mithilfe von Keras zu beurteilen
[Circuit x Python] So ermitteln Sie die Übertragungsfunktion eines Schaltkreises mit Lcapy
Simulieren wir den Übergang der Infektionsrate in Bezug auf die Bevölkerungsdichte mit Python
Drei Dinge, von denen ich süchtig war, als ich Python und MySQL mit Docker verwendete
Ich habe versucht, die Tweets von JAWS DAYS 2017 mit Python + ELK einfach zu visualisieren
[In-Database Python Analysis-Lernprogramm mit SQL Server 2017] Schritt 2: Importieren Sie Daten mit PowerShell in SQL Server
Was Sie sich mit der grundlegenden Grammatik "String Manipulation" von Python merken möchten
Hinweis: So erhalten Sie den letzten Tag des Monats mit Python (hinzugefügt am ersten Tag des Monats)
Ich habe ein Skript erstellt, das das aktive Fenster mit win32gui von Python aufzeichnet
So senden Sie automatisch E-Mails mit Anhängen mithilfe der Google Mail-API in Python
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
Ich habe versucht, die Literatur des neuen Corona-Virus mit Python automatisch an LINE zu senden
[Einführung in Python] So erhalten Sie den Datenindex mit der for-Anweisung
Bereiten Sie die Ausführungsumgebung von Python3 mit Docker vor
2016 Todai Mathematik mit Python gelöst
Zusammenfassung zum Importieren von Dateien in Python 3
[Hinweis] Exportieren Sie das HTML der Site mit Python.
Geben Sie die ausführbare Python-Datei an, die mit virtualenv verwendet werden soll
Überprüfen Sie das Datum der Flaggenpflicht mit Python
Begrüßen Sie die Welt mit Python mit IntelliJ
Beseitigen Sie die Unannehmlichkeiten von QDock Widget mit PySide
Zeichenkodierung bei Verwendung des CSV-Moduls von Python 2.7.3