Traceback (most recent call last): File "D:\pythonProject2\CTfile.py", line 243, in <module> fig.canvas.set_window_title('小波变换融合图像') AttributeError: 'FigureCanvasQTAgg' object has no attribute 'set_window_title'
时间: 2024-03-01 16:54:19 浏览: 166
Mac下anaconda中Spyder打开报错Traceback(most recent call last)…问题
5星 · 资源好评率100%
如果你使用的是 matplotlib 的 QtAgg 后端,则你需要使用 Qt 控件的方法来更改窗口名。你可以在 plt.subplots() 中设置 figsize 参数,然后将 Figure 对象传递给一个新建的 Qt 控件,如下所示:
```python
import matplotlib.pyplot as plt
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
fig, ax = plt.subplots(figsize=(8, 6))
ax.imshow(cv2.cvtColor(fused_image, cv2.COLOR_BGR2RGB))
ax.axis('on') # 显示结果图像
# 创建一个新的 Qt 控件并设置窗口名
app = QApplication([])
widget = QWidget()
widget.setWindowTitle('自定义窗口名')
# 将 Figure 对象传递给一个新建的 FigureCanvas 控件
canvas = FigureCanvas(fig)
layout = QVBoxLayout(widget)
layout.addWidget(canvas)
widget.show()
app.exec_()
```
这段代码会创建一个新的 Qt 控件,将 Figure 对象传递给一个新建的 FigureCanvas 控件,然后将 FigureCanvas 控件添加到 Qt 控件的布局中,最后显示出来。你可以将 widget.setWindowTitle() 中的字符串替换为你想要的窗口名。
阅读全文