【问题标题】:multiple buttons on a tkinter canvastkinter 画布上的多个按钮
【发布时间】:2016-12-21 21:50:13
【问题描述】:

我需要 Python Tkinter 中画布上的多个按钮。目的是在按钮之间绘制连接线。我的代码:

from tkinter import *

root=Tk()
convas = Canvas(root)
convas.pack()
button1 = Button(text = "button 1")
button1.configure(width = 0, activebackground = "#D2D2D2", relief = GROOVE)
button1_window = convas.create_window(10, 10, anchor=NW, window=button1)
button1.update()
print (button1.winfo_geometry())

button2 = Button(text = "button 2")
button2.configure(width = 0, activebackground = "#D2D2D2", relief = GROOVE)
button2_window = convas.create_window(10, 50, anchor=NW, window=button1)
button2.update()
print (button2.winfo_geometry())
root.mainloop()

运行此代码,我总是在画布中获得 按钮 1,尽管我尝试在 create_window 函数和 anchor= 中调整位置。 按钮 2 根本不显示在画布中。

两个打印返回:

62x26+10+10
1x1+0+0。

根据输出 1x1+0+0按钮 2 似乎没有被渲染。我做错了什么?

编辑:

我的错误:

button2_window = convas.create_window(10, 50, anchor=NW, window=button1)

应该是

button2_window = convas.create_window(10, 50, anchor=NW, window=button2)

【问题讨论】:

    标签: python button canvas tkinter


    【解决方案1】:

    第 14 行中的第二个按钮代码为 window=button1。将其更改为:

    button2_window = convas.create_window(10, 50, anchor=NW, window=button2)
    

    这样button2 就会像这样显示在它的窗口上:

    【讨论】:

      猜你喜欢
      • 2017-10-05
      • 2012-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多