【问题标题】:Python input interface with multiple fields that can be edited before submittingPython输入界面,多字段,提交前可编辑
【发布时间】:2021-12-26 18:05:11
【问题描述】:

在 Python 中,是否可以有多个 input() 字段,所有这些字段都可以在提交之前进行编辑以定义变量,例如表单?

例如:

var1 = input('num1: ')
var2 = input('num2: ')
var3 = input('num3: ')

当我运行这段代码时,我必须一个接一个地填写。而且一旦填写完毕,就无法更改之前的输入。如何才能显示所有 3 个输入,并且我仍然可以编辑以前的输入,例如填写表格?

【问题讨论】:

  • 提交给什么?请详细说明您要做什么。
  • 定义变量
  • 您能否尝试用伪代码或通过勾勒出您想要的东西或任何其他指向您想要做的方向的东西来详细说明?
  • 欢迎来到Stack Overflow. 请注意这不是代码编写或辅导服务。我们可以帮助解决具体的技术问题,而不是对代码或建议的开放式请求。请编辑您的问题以显示您迄今为止尝试过的内容,以及您需要帮助的具体问题。请参阅How To Ask a Good Question 页面,详细了解如何最好地帮助我们。
  • 您可以使用临时变量定义一个函数。尽管如此,你还是需要某种信息持有者,比如变量

标签: python python-docx


【解决方案1】:

不确定你的问题试试这个代码:

var1 = input('num1: ')
var2 = input('num2: ')
var3 = input('num3: ')


print('num1: ',var1,'num2: ', var2,'num3: ', var3)

var1 , var2, var3 = (input('num1 num2 num3 :').split())


print('num1: ',var1,'num2: ', var2,'num3: ', var3)

   

或:

import tkinter as tk



def printz():
    print('\n\nnum1: ',var1.get(),'num2: ', var2.get(),'num3: ', var3.get())

master = tk.Tk()

var1 = tk.StringVar()
var2 = tk.StringVar()
var3 = tk.StringVar()



tk.Label(master, text="num1").grid(row=0)
tk.Label(master, text="num2").grid(row=1)
tk.Label(master, text="num3").grid(row=2)
tk.Button(master,text ="Enter", command = printz,activebackground='green',
          justify='center').grid(row=3, column=1)

e1 = tk.Entry(master, textvariable=var1).grid(row=0, column=1)
e2 = tk.Entry(master, textvariable=var2).grid(row=1, column=1)
e3 = tk.Entry(master, textvariable=var3).grid(row=2, column=1)



master.mainloop()

产生:

而 var1、var2、var 3 为 var1 = tk.StringVar()

【讨论】:

  • 感谢 Tkinter 完成这项工作
猜你喜欢
  • 2019-11-26
  • 2017-02-08
  • 2020-12-12
  • 1970-01-01
  • 2013-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-10
相关资源
最近更新 更多