将 pg.ImageItem 转换为 pg.ImageView 以显示图像和 z 轴滑块
Convert pg.ImageItem to pg.ImageView to show image and z-axis slider
我对 pyqtgraph 有疑问,我认为我缺乏理解。
我有一些代码(见下文)可用于在 pyqt 设计器 window 中嵌入 "ImageItem"。但是我希望使用 "ImageView" 以便我可以使用一些其他功能(例如 z 轴滑块)。我怎样才能做到这一点?当我将命令更改为 "ImageView" 时,出现以下错误
AttributeError: 'ImageView' 对象没有属性 'zValue'
谁能告诉我哪里出错了。感谢您对此的任何帮助。
from PyQt5 import uic, QtCore, QtGui, QtWidgets
import sys
import pyqtgraph as pg
import numpy as np
class ViewData(QtWidgets.QMainWindow):
def __init__(self, parent=None):
super(ViewData, self).__init__(parent)
uic.loadUi('test.ui',self)
win = pg.GraphicsLayout()
p = win.addViewBox()
imv = pg.ImageItem()
self.view.setCentralItem(win)
self.view.show()
imagedata = np.random.random((256,256))
imv.setImage(imagedata)
p.addItem(imv)
def main():
app = QtWidgets.QApplication(sys.argv) # A new instance of QApplication
vd = ViewData() # We set the form to be our MainWindow (design)
vd.show() # Show the form
app.exec_() # and execute the app
if __name__ == '__main__': # if we're running file directly and not importing it
main() # run the main function
这就是您将 ImageView 添加到 QtWidget 的方式。
from PyQt4 import QtGui
import sys
import pyqtgraph as pg
import numpy as np
class ViewData(QtGui.QMainWindow):
def __init__(self, parent=None):
super(ViewData, self).__init__(parent)
self.widget = QtGui.QWidget()
self.widget.setLayout(QtGui.QHBoxLayout())
imv = pg.ImageView()
imagedata = np.random.rand(256,256)
imv.setImage(imagedata)
self.widget.layout().addWidget(imv)
self.setCentralWidget(self.widget)
self.show()
def main():
app = QtGui.QApplication(sys.argv)
vd = ViewData()
vd.show()
app.exec_()
if __name__ == '__main__':
main()
它在 PyQt4 中,但可以轻松更改。
我对 pyqtgraph 有疑问,我认为我缺乏理解。 我有一些代码(见下文)可用于在 pyqt 设计器 window 中嵌入 "ImageItem"。但是我希望使用 "ImageView" 以便我可以使用一些其他功能(例如 z 轴滑块)。我怎样才能做到这一点?当我将命令更改为 "ImageView" 时,出现以下错误
AttributeError: 'ImageView' 对象没有属性 'zValue'
谁能告诉我哪里出错了。感谢您对此的任何帮助。
from PyQt5 import uic, QtCore, QtGui, QtWidgets
import sys
import pyqtgraph as pg
import numpy as np
class ViewData(QtWidgets.QMainWindow):
def __init__(self, parent=None):
super(ViewData, self).__init__(parent)
uic.loadUi('test.ui',self)
win = pg.GraphicsLayout()
p = win.addViewBox()
imv = pg.ImageItem()
self.view.setCentralItem(win)
self.view.show()
imagedata = np.random.random((256,256))
imv.setImage(imagedata)
p.addItem(imv)
def main():
app = QtWidgets.QApplication(sys.argv) # A new instance of QApplication
vd = ViewData() # We set the form to be our MainWindow (design)
vd.show() # Show the form
app.exec_() # and execute the app
if __name__ == '__main__': # if we're running file directly and not importing it
main() # run the main function
这就是您将 ImageView 添加到 QtWidget 的方式。
from PyQt4 import QtGui
import sys
import pyqtgraph as pg
import numpy as np
class ViewData(QtGui.QMainWindow):
def __init__(self, parent=None):
super(ViewData, self).__init__(parent)
self.widget = QtGui.QWidget()
self.widget.setLayout(QtGui.QHBoxLayout())
imv = pg.ImageView()
imagedata = np.random.rand(256,256)
imv.setImage(imagedata)
self.widget.layout().addWidget(imv)
self.setCentralWidget(self.widget)
self.show()
def main():
app = QtGui.QApplication(sys.argv)
vd = ViewData()
vd.show()
app.exec_()
if __name__ == '__main__':
main()
它在 PyQt4 中,但可以轻松更改。