【问题标题】:How to create a button in the Toplevel in tkinter如何在 tkinter 的顶层创建一个按钮
【发布时间】:2019-10-12 17:21:45
【问题描述】:

我尝试在 tkinter 的顶层创建按钮时遇到错误。我正在使用python3。

这是出于我自己的经验,我试图让 smth 像库存检查一样。我没有太多经验,所以我不知道该尝试什么。

import tkinter as tk
from tkinter import *

import openpyxl


def create_search_for_window():
    top = Toplevel(root)
    canvas2 = tk.Canvas(top, width=800, height=600)
    canvas2.pack()

    Kodi = tk.Entry(top,font=('Helvetica', '20'))
    canvas2.create_window(400, 100,window=Kodi,height=100, width=200)
    kontrollo_per_kodin = tk.Button(text='Kontrollo', font=('Helvetica', 
'12'))
    canvas2.create_window(400, 200, window=kontrollo_per_kodin)


return None

book = openpyxl.load_workbook('Book1.xlsx')
sheet = book.active
columns = sheet.rows

root = Tk()


canvas1 = tk.Canvas(root, width=800, height=800)
canvas1.pack()
lab = tk.Label(root, text="aba")

kontrollo = tk.Button(text='Kontrollo', command=create_search_for_window, 
font=('Helvetica', '12'))
kontrollo.pack()
canvas1.create_window(100, 200, window=lab)
canvas1.create_window(120, 230, window=kontrollo)
root.mainloop()

我的预期结果是,当我在创建第二个画布后按下第一个画布中的“Kontrollo”按钮时,还会出现另一个按钮。 第二个按钮变量是上面代码中的“kontrollo_per_kodin”。

这是我得到的错误:

_tkinter.TclError: can't use .!button2 in a window item in this canvas

【问题讨论】:

    标签: python-3.x button tkinter tkinter-canvas toplevel


    【解决方案1】:

    按钮需要拥有画布或顶层作为它的主控。您不能在一个窗口中创建小部件,然后将其移动到另一个窗口。

    kontrollo_per_kodin = tk.Button(canvas2, ...)
    

    【讨论】:

      猜你喜欢
      • 2014-06-02
      • 1970-01-01
      • 2012-08-12
      • 1970-01-01
      • 2021-06-02
      • 1970-01-01
      • 2022-11-28
      • 1970-01-01
      • 2016-07-31
      相关资源
      最近更新 更多