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">"verticalLayout"</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">"graph01"</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">"psbtn"</span>)
<span style="color: #008000">self</span><span style="color: #666666">.</span>psbtn<span style="color: #666666">.</span>setText(<span style="color: #BA2121">"Plot"</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">"clicked()"</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_())
En d'autres termes, dans cet ordre
import pyqtgraph as pg
from PySide import QtCore, QtGui
http://www.pyqtgraph.org/documentation/how_to_use.html#pyqt-and-pyside Probablement traduit.
PyQt et PySide
PyQtGraph prend en charge PyQt et PySide, les wrappers Python pour deux bibliothèques QT populaires. Les deux packages fournissent presque les mêmes API et fonctions, mais pour diverses raisons, je pense que vous devriez choisir l'un ou l'autre. Lors de la première importation de pyqtgraph, pyqtgraph déterminera automatiquement la bibliothèque à utiliser avec les éléments de contrôle suivants:
1 Si PyQt4 est déjà importé, utilisez-le 2 Sinon, si PySide est déjà importé, utilisez-le, 3 Sinon, essayez d'importer PyQt4 et 4 Si l'importation PyQt4 échoue, essayez d'importer PySide.
Si les bibliothèques PyQt4 et PySide sont installées sur votre système et que vous souhaitez utiliser pyqtgraph de chaque côté, importez simplement cette bibliothèque avant d'importer pyqtgraph. S'il vous plaît.
import PySide ## this will force pyqtgraph to use PySide instead of PyQt4 import pyqtgraph as pg
Erreur antérieure, l'argument 1 a un type inattendu "PySide.QtGui.QWidget"
Dans la ligne self.graph01 = pg.PlotWidget (self.centralwidget), pyqtgraph.PlotWidget avait l'intention d'avoir quelque chose de PyQt dans l'argument ↓ «PySide.QtGui.QWidget» est arrivé. L'argument 1 a un type inattendu "PySide.QtGui.QWidget". Je pense que c'est l'état. PyQtGraph Une bibliothèque pour le traçage en Python. http://www.pyqtgraph.org/
Pas mal. Matplotlib est une bibliothèque standard pour le traçage en Python. Mais PyQtGraph est plus rapide. http://yukara-13.hatenablog.com/entry/2013/12/05/025655
Si vous souhaitez créer une interface graphique à l'aide de Qt en Python, vous pouvez choisir entre les deux. Il y a une différence entre LGPL et GPL dans la licence. PySide ・ ・ ・ LGPL. J'ai le sentiment qu'il n'y a pas beaucoup d'informations sur le net, probablement parce que peu de gens l'utilisent. (Environ 214 000 lors de la recherche sur Google) PyQt ・ ・ ・ GPL. Copiez à gauche. J'ai l'impression que le nombre d'utilisateurs apparaît dans les résultats de recherche. (Recherche Google 667 000)
Recommended Posts