【发布时间】:2015-06-17 15:35:26
【问题描述】:
我正在尝试建立一个循环来跟踪订单编号的数量,并为每个新订单分配一个 nw 订单编号以增加值。
完整代码如下:
*这是使用 Klaus D. 建议的固定代码
import tkinter
from tkinter import *
from tkinter import ttk
from tkinter import messagebox
from itertools import count
class ImprintPlusApp:
def __init__(self, master):
self.counter = count(1)
master.title("Imprint Plus Manager")
self.frame_header = ttk.Frame(master)
self.frame_header.pack()
ttk.Label(self.frame_header, text = "Bienvenidos a Imprint Plus Manager")
self.frame_crearorden = ttk.Frame(master)
self.frame_crearorden.pack()
ttk.Label(self.frame_crearorden, text = "Nombre").grid(row = 0, column = 0, padx = 5)
ttk.Label(self.frame_crearorden, text = "Email").grid(row = 2, column = 0, padx = 5)
ttk.Label(self.frame_crearorden, text = "Numero Cel/Tel").grid(row = 4, column = 0, padx = 5)
ttk.Label(self.frame_crearorden, text = "Información Adicional").grid(row = 6, column = 0, padx = 5)
self.entry_name = ttk.Entry(self.frame_crearorden, width = 24)
self.entry_email = ttk.Entry(self.frame_crearorden, width = 24)
self.entry_numtc = ttk.Entry(self.frame_crearorden, width = 24)
self.entry_addinf = Text(self.frame_crearorden, width = 50, height = 10)
self.entry_name.grid(row = 0, column = 1, padx = 5)
self.entry_email.grid(row = 2, column = 1, padx = 5)
self.entry_numtc.grid(row = 4, column = 1, padx = 5)
self.entry_addinf.grid(row = 7, column = 0, columnspan = 2, padx = 5)
ttk.Button(self.frame_crearorden, text = "Submit", command = self.submit).grid(row = 8, column = 1,columnspan = 1, padx = 5)
ttk.Button(self.frame_crearorden, text = "Clear", command = self.clear).grid(row = 8, columnspan = 1, padx = 5)
def submit(self):
result = next(self.counter)
orderResult = str(result)
print ("Nombre: {}".format(self.entry_name.get()))
print ("Email: {}".format(self.entry_email.get()))
print ("Num Cel/Tel: {}".format(self.entry_numtc.get()))
print ("Información Adicional: {}".format(self.entry_addinf.get(1.0, "end")))
self.clear()
messagebox.showinfo(title = "Orden #"+ orderResult, message = "Orden Guardada")
def clear(self):
self.entry_name.delete(0, "end")
self.entry_email.delete(0, "end")
self.entry_numtc.delete(0, "end")
self.entry_addinf.delete(1.0, "end")
def main():
root = Tk()
app = ImprintPlusApp(root)
root.mainloop()
if __name__ == '__main__':
main()
【问题讨论】:
-
问题是什么?也可能是mcve。
-
我的问题是,我怎样才能让 ordencount 变量跟踪创建的订单数量并为创建的每个新订单分配正确的订单数量?这样我就可以按订单号在列表中组织订单。
-
您需要尝试自己解决逻辑,然后尝试对其进行编码。如果您的解决方案有问题,请询问这些问题。请阅读我在上面发布的 mcve 链接。
-
如果您未能创建解决方案,请尝试解释您究竟在哪一部分失败了。例如。 “我记得其他语言的 for 循环,但我如何在 python 中做到这一点?”
标签: python loops tkinter increment