python - 无法运行基于TKinter的python应用程序

标签 python tkinter

import Tkinter as tk
from functools import partial

pad = [[1, 2, 3], [4, 5, 6], [7, 8, 9], ["C", 0, "S"]]
passcode = ""

def append_passcode(value):
    global passcode
    if len(passcode) == 4:
        passcode = passcode[1:]
    passcode += value

def clear():
    global passcode
    passcode = ""

def submit():
    global passcode
    if passcode == "1234":
        msgBox.showinfo("Login Attempt", "Successful")
        passcode = ""
    else:
        msgBox.showinfo("Login Attempt", "Failed")
        passcode = ""

main_window = tk.Tk()

btns = []
row_placement = 0
for line in pad:
    col_placement = 0
    for number in line:
        btn_command = partial(append_passcode, str(number))
        btn = tk.Button(main_window, text=str(number), width=10, command=btn_command)
        btns.append(btn)
        btn.grid(row=row_placement, column=col_placement)
        col_placement += 1
    row_placement += 1

#Setting C to clear the passcode function
btns[-3].config(command=clear)

#Setting S to submit passcode
btns[-1].config(command=submit)

我正在编写一个小键盘应用程序,用户必须输入正确的 4 位数代码才能访问应用程序。当测试代码运行时,GUI不会出现。需要做什么才能使此代码正常运行?

最佳答案

这是你做错的事情:

  • tkinter 拼写错误
  • 不包括

    main_window.mainloop()
    

试试这个代码

import tkinter as tk
from functools import partial

pad = [[1, 2, 3], [4, 5, 6], [7, 8, 9], ["C", 0, "S"]]
passcode = ""

def append_passcode(value):
    global passcode
    if len(passcode) == 4:
        passcode = passcode[1:]
    passcode += value

def clear():
    global passcode
    passcode = ""

def submit():
    global passcode
    if passcode == "1234":
        msgBox.showinfo("Login Attempt", "Successful")
        passcode = ""
    else:
        msgBox.showinfo("Login Attempt", "Failed")
        passcode = ""

main_window = tk.Tk()

btns = []
row_placement = 0
for line in pad:
    col_placement = 0
    for number in line:
        btn_command = partial(append_passcode, str(number))
        btn = tk.Button(main_window, text=str(number), width=10, command=btn_command)
        btns.append(btn)
        btn.grid(row=row_placement, column=col_placement)
        col_placement += 1
    row_placement += 1

#Setting C to clear the passcode function
btns[-3].config(command=clear)

#Setting S to submit passcode
btns[-1].config(command=submit)

main_window.mainloop()

现在您的窗口应该出现。

希望这对您有所帮助,如有任何问题,请随时发表评论。

关于python - 无法运行基于TKinter的python应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38448840/

相关文章:

python - 在 Mayavi 中导出高质量图像

python - Delphi - 映射函数意外输出

python - Matplotlib:figure.add_axes 从 x,y 转换为相对坐标

python深拷贝和浅拷贝并传递引用

python - 闪烁的 Tkinter 标签

Python3按钮无法删除

Python:pytz 返回不可用的 __repr__()

python - 如何在 Canvas 项目中插入图像?

python - 主线程不在主循环 tkinter 中,具有多个 pysimplegui 或 tkinter 对象的多线程 [已解决]

python - cv2.error : OpenCV(4. 5.2) .error : (-215:Assertion failed) ! _src.empty() 函数 'cv::cvtColor'