【问题标题】:How to change color of matplotlib toolbar in tkinter?如何在 tkinter 中更改 matplotlib 工具栏的颜色?
【发布时间】:2021-12-25 12:29:12
【问题描述】:

我想在 tkinter 中制作 matplotlib 图形时更改工具栏的颜色。我设法找到并更改了两个部分的颜色。还剩一个。

我的代码直接来自https://matplotlib.org/stable/gallery/user_interfaces/embedding_in_tk_sgskip.html?highlight=embedding%20tk,另外添加了三行来更改颜色。

import tkinter
from matplotlib.backends.backend_tkagg import (
    FigureCanvasTkAgg, NavigationToolbar2Tk)
from matplotlib.figure import Figure
import numpy as np

root = tkinter.Tk()
root.wm_title("Embedding in Tk")

fig = Figure(figsize=(5, 4), dpi=100)
t = np.arange(0, 3, .01)
fig.add_subplot().plot(t, 2 * np.sin(2 * np.pi * t))

canvas = FigureCanvasTkAgg(fig, master=root)  # A tk.DrawingArea.
canvas.draw()

color = "#d469a3"
toolbar = NavigationToolbar2Tk(canvas, root, pack_toolbar=False)
toolbar.config(background=color)
toolbar._message_label.config(background=color)
toolbar.update()

button = tkinter.Button(master=root, text="Quit", command=root.quit)

button.pack(side=tkinter.BOTTOM)
toolbar.pack(side=tkinter.BOTTOM)
canvas.get_tk_widget().pack(side=tkinter.TOP, fill=tkinter.BOTH, expand=1)

tkinter.mainloop()

这给了我窗口:

我指出的那个灰色的小矩形是什么?如何改变它的颜色?

【问题讨论】:

    标签: python matplotlib tkinter


    【解决方案1】:

    这是一个空标签。你可以通过winfo_children获得参考:

    print (toolbar.winfo_children()[-2])
    
    # .!navigationtoolbar2tk.!label
    

    并改变它的颜色:

    toolbar.winfo_children()[-2].config(background=color)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-21
      • 1970-01-01
      • 2019-07-24
      • 1970-01-01
      • 2010-12-10
      • 2021-07-19
      • 2020-05-09
      • 1970-01-01
      相关资源
      最近更新 更多