gpt4 book ai didi

python - 如何从 Tkinter 获取输入

转载 作者:行者123 更新时间:2023-11-28 19:35:46 25 4
gpt4 key购买 nike

我正在使用 Tkinter 制作一个程序,用户在其中以磅为单位输入体重,然后以公斤为单位输出体重。

我在从用户那里获取 Entry 的内容时遇到问题。我在 clicked1 中计算磅到千克。

有人可以告诉我如何在那里获得 Entry 输入吗?

from Tkinter import *
import tkMessageBox

class App(object):
def __init__(self):
self.root = Tk()
self.root.wm_title("Question 7")
self.label = Label (self.root, text= "Enter your weight in pounds.")
self.label.pack()

self.entrytext = StringVar()
Entry(self.root, textvariable=self.entrytext).pack()

self.buttontext = StringVar()
self.buttontext.set("Calculate")
Button(self.root, textvariable=self.buttontext, command=self.clicked1).pack()

self.label = Label (self.root, text="")
self.label.pack()

self.root.mainloop()

def clicked1(self):
input = 3423 #I would like the user input here.
self.label.configure(text=input)

def button_click(self, e):
pass

App()

最佳答案

你要找的是[widget].get()

文本小部件

如果您使用文本小部件,则必须使用 [widget].get(1.0, END) 其中 1.0 表示“第一行,第 0 个字符”

代码审查

我注意到您的代码中还有其他一些可以改进的地方:

  • PEP8一致性;见pep8online.com
  • 如果您添加 Shebang , Linux 用户将能够直接使用 ./script.py 执行它。
  • 变量命名:
    • input是一个内置函数,你应该避免覆盖它
    • 使用有意义的变量名称(如果您扩展程序,entrytext 可能会有问题)
  • 避免 from Tkinter import *。这可能会导致意外的命名冲突。

完整代码

##!/usr/bin/env python

import Tkinter as Tk


class App(object):
def __init__(self):
self.root = Tk.Tk()
self.root.wm_title("Question 7")
self.label = Tk.Label(self.root, text="Enter your weight in pounds.")
self.label.pack()

self.weight_in_kg = Tk.StringVar()
Tk.Entry(self.root, textvariable=self.weight_in_kg).pack()

self.buttontext = Tk.StringVar()
self.buttontext.set("Calculate")
Tk.Button(self.root,
textvariable=self.buttontext,
command=self.clicked1).pack()

self.label = Tk.Label(self.root, text="")
self.label.pack()

self.root.mainloop()

def clicked1(self):
weight_in_kg = self.weight_in_kg.get()
self.label.configure(text=weight_in_kg)

def button_click(self, e):
pass

App()

关于python - 如何从 Tkinter 获取输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13114359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com