我目前有ImageView显示Dicom图像,但我不希望侧面有直方图。并尽可能将这两个按钮移动到另一个地方。 我该怎么做?
答案 0 :(得分:2)
ImageView的特殊之处在于你得到了直方图。另一种显示图像的方法是在基本图中添加ImageItem并隐藏轴。以这种方式解决问题可以让您很好地控制应用程序显示的内容。
以下是代码示例:
from PyQt4 import QtGui, QtCore
import pyqtgraph as pg
import numpy as np
win = pg.GraphicsWindow()
plot = win.addPlot()
imagedata = np.random.random((256,256))
ii = pg.ImageItem(imagedata)
plot.addItem(ii)
plot.hideAxis('left')
plot.hideAxis('bottom')
import sys
if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
QtGui.QApplication.instance().exec_()
hacky方法的开始是通过在ImageView上调用ui.histogram.hide()
。像这样的东西
from PyQt4 import QtCore, QtGui
import pyqtgraph as pg
import numpy as np
app = QtGui.QApplication([])
win = QtGui.QMainWindow()
imv = pg.ImageView()
win.setCentralWidget(imv)
win.show()
imagedata = np.random.random((256,256))
imv.setImage(imagedata)
imv.ui.histogram.hide()
import sys
if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
QtGui.QApplication.instance().exec_()
答案 1 :(得分:0)
这里是一个没有直方图的ImageItem。也许这就是你正在寻找的东西。
import pyqtgraph as pg
from PyQt4 import QtCore, QtGui
app = QtGui.QApplication([])
imageWidget = pg.GraphicsLayoutWidget()
vb = imageWidget.addViewBox(row=1, col=1)
img = pg.ImageItem()
vb.addItem(img)
vb.setAspectLocked(True)
答案 2 :(得分:0)
我知道已经很晚了,但是对于将来想要弄清楚这个问题但又想要imageview而不是imageitem的任何人:
假设您有一个带有imageview标签的imv和一个布尔值show_histogram,则可以使用以下代码切换显示直方图(及其下方的两个按钮)。
if show_histogram:
imv.ui.histogram.show()
imv.ui.roiBtn.show()
imv.ui.menuBtn.show()
else:
imv.ui.histogram.hide()
imv.ui.roiBtn.hide()
imv.ui.menuBtn.hide()