最近我开始探索在Qt Designer中开发UI并通过PyQt编辑它们 . 事情进展顺利,但我目前仍在努力解决以下问题:
我已经通过Qt Designer插入了一个MatplotLib小部件,并设法使用barh绘制相当好的水平条形图 . 接下来我尝试通过matplotlib.backends.backend_qt4agg.NavigationToolbar2QT成功设法插入功能NavigationToolBar
然后,按照这个线程(和类似的线程),我设法编辑了我想在工具栏上显示的按钮...... How to modify the navigation toolbar easily in a matplotlib figure window?
它适用于除最后一个按钮之外的每个按钮,其复选框图形描述“编辑曲线线和轴参数” . 在这种特殊情况下,我真的想删除这个按钮,因为它在移动鼠标时不断调整绘图大小,在这种情况下我不需要这个按钮 .
我还没有发现讨论这个特定工具栏按钮的任何线程(只有这一个matplotlib: Qt4Agg toolbar's irritating 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')]
这成功嵌入了工具栏,但“编辑”按钮仍然存在 .
非常感谢任何见解 . 问候
1 回答
您可以通过将以下内容添加到
NavigationToolbar
类来删除它您无法通过修改
toolitems
删除此特定按钮的原因是因为它在添加了所有toolitems
条目后单独添加到工具栏中 .