0
我正在開發一個使用matplotlib和pyqt5進行圖像處理的應用程序。下面是一些代碼:在PyQt5中嵌入Matplotlib:工具欄不起作用
class MainForm(QtWidgets.QMainWindow):
def __init__(self):
super(MainForm, self).__init__()
uic.loadUi("...", self)
self.setup_ui_elements()
self.figure = Figure(figsize=(5, 4), dpi=100)
self.canvas = FigureCanvas(self.figure)
self.toolbar = NaviToolbar(self.canvas, self)
self.MiddleRightLayout.addWidget(self.toolbar)
self.MiddleRightLayout.addWidget(self.canvas)
def plot(self, img):
self.figure.figimage(img)
self.canvas.draw()
現在,如果我加載圖像並將其繪製在畫布上,兩個問題就出來了:
- 工具欄將被顯示,但它沒有任何效果(例如縮放,平移等)
- 我還沒有找到一種方法來適應圖像到畫布上,圖像通常比畫布區域大得多。
任何想法?
映入眼簾,丹尼斯
感謝您的回覆,這正是我想要的,軸是不需要的,但如果顯示它們也不會太大問題。我將resize-argument設置爲True,但它仍然不起作用。也許另一個想法我做錯了什麼?問候,丹尼斯 – ueezb
*什麼*不起作用? 'resize = True'適合圖像的畫布。你觀察到不同的東西嗎? – ImportanceOfBeingErnest
好吧,對不起,我誤解了你的回覆。如果我設置resize = True,畫布尺寸的確是圖像的大小。所以這就是我想要做的:在圖形窗口的中心顯示圖像,縮放到它的大小。而工具欄應該工作。所以使用imshow會是更好的方法嗎? – ueezb