【发布时间】:2021-01-17 21:37:31
【问题描述】:
我有一个我真的无法解决的问题。这是几个小时的搜索。我有一个简单的 tkinter 窗口,其中有一个组合框、一个 FigureCanvasTkAgg 上的图形和一个 Matplotlib 文本框。问题是当我按下 Enter (在文本框上)时,我想在控制台上打印一些东西。我通过使用text_box.on_submit() 命令来做到这一点。文本框可以在这里找到Matplotlib Widgets。如果我不触摸组合框,它工作得很好。但是,当我从组合框中选择某些东西(一个选项)时,它会获得焦点并输入(sumbit 命令)不适用于文本框。我不能在 TextBox 上写事件,而是在我键入时写在组合框上。而且即使我点击TextBox,我也解决不了...
import tkinter as tk
from tkinter import ttk
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
import matplotlib.pyplot as plt
from matplotlib.widgets import TextBox
win = tk.Tk()
fig,ax = plt.subplots()
ax.plot([1,7,3,6,9,3,6])
canvas = FigureCanvasTkAgg(fig, master=win)
canvas.get_tk_widget().pack()
canvas.draw()
textboxax = plt.axes([0.92, 0.35, 0.06, 0.07])
text_box = TextBox(textboxax, '', initial='',color='gray',hovercolor='white')
text_box.on_submit(lambda x: print('helloo'))
cb = ttk.Combobox(win,values=['red','white','black','yellow','blue'])
cb.pack()
win.mainloop()
【问题讨论】:
标签: python matplotlib tkinter textbox