最近我开始探索在Qt Designer中开发UI并通过PyQt编辑它们.事情进展顺利,但我目前仍在努力解决以下问题:
我已经通过Qt Designer插入了一个MatplotLib小部件,并设法使用barh绘制相当好的水平条形图.接下来我尝试通过matplotlib.backends.backend_qt4agg.NavigationToolbar2QT成功设法插入功能NavigationToolBar
然后,按照这个线程(和类似的线程),我设法编辑了我想在工具栏上显示的按钮... 如何在matplotlib图窗口中轻松修改导航工具栏?
它适用于除最后一个按钮之外的每个按钮,其复选框图形描述"编辑曲线线和轴参数".在这种特殊情况下,我真的想删除这个按钮,因为它在移动鼠标时不断调整绘图大小,在这种情况下我不需要这个按钮.
我还没有找到讨论这个特定工具栏按钮的任何线程(只有这一个matplotlib:Qt4Agg工具栏的烦人的bug)
用于插入工具栏和当前编辑按钮的代码如下所示:
from matplotlib.backends.backend_qt4agg import NavigationToolbar2QT
class currentUI(QtGui.QWidget):
def __init__(self):
super(currentUI,self).__init__()
(...)
uic.loadUi('portfolioManager.ui',self)
self.initUI()
(...)
def initUI(self):
self.setWidgetsPropertiesAndActions()
(...)
def setWidgetsPropertiesAndActions(self):
(...)
self.navi_toolbar=NavigationToolbar(self.mplwidgetExposures, self)
self.LayoutPlot.addWidget(self.navi_toolbar)
(...)
class NavigationToolbar(NavigationToolbar2QT):
toolitems = [t for t in NavigationToolbar2QT.toolitems if
t[0] in ('Home','Pan', 'Zoom', 'Save','Subplots')]
Run Code Online (Sandbox Code Playgroud)
这成功嵌入了工具栏,但"编辑"按钮仍然存在.
非常感谢任何见解.问候
我创建了一个基于Tkinter的应用程序,它使用Matplotlib绘制波形.我想知道如何更改Matplotlib工具栏按钮的工具提示(我需要翻译英文描述,因为我的应用程序是捷克语).我还想更改/翻译或只删除工具栏面板旁边的描述(pan/zoom,zoom rect),单击缩放或平移按钮.
我找到了一些有关如何在工具栏中添加或删除按钮的有用提示,但是没有找到任何有关自定义工具提示/描述的建议.我认为它与前一种情况类似,因为我需要创建一个新的工具栏类,NavigationToolbar2TkAgg并以某种方式修改它.有关如何做到这一点的任何建议?提前谢谢了.
我想从绘图工具栏(matplotlib)中删除一些按钮。
我看到有一些旧的解决方案:
但是所有答案都使用GUI框架(QT,TKinter)。
是否有不使用GUI框架的新解决方案?
我将 matplotlib 与 tk/tkinter 一起使用,遵循“ Embedding in Tk ”
self._figure = Figure()
self._axes: matplotlib.axes.Axes = self._figure.add_subplot(111)
self._canvas = FigureCanvasTkAgg(self._figure, master=frame)
toolbar = NavigationToolbar2Tk(self._canvas, frame)
toolbar.update()
Run Code Online (Sandbox Code Playgroud)
根据工具管理器
self._figure.canvas.manager.toolmanager.remove_tool("pan")
Run Code Online (Sandbox Code Playgroud)
应该有效,但事实并非如此。
# self._figure.canvas does not have attribute 'manager'
Run Code Online (Sandbox Code Playgroud)
从 vs-code 的屏幕截图中可以看出,FigureCanvasTkAgg 没有属性“manager”:
如何去掉工具栏按钮?