输入我们输入的文本

2024-10-01 00:28:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我对特金特很陌生(我觉得很难学)。我有一个基于用户输入的python脚本。我想在它周围包装一个图形用户界面,并最终把它放到网上。在任何情况下,对于用户输入,我都希望从GUI中获得它,并结合输入小部件和一些按钮。第一件事是我在阅读,一些人提到要使用一个类,所以我有以下内容。我有几个问题

  1. 我想看看用户是否真的在点击GO按钮之前输入了一个值。我该怎么做?你知道吗
  2. 我希望输入的值可以由主体中的程序的其余部分访问。我该怎么做?你知道吗

谢谢你

from Tkinter import *

class MainWindow():

    def get_fc(self):
        a = self.fc_gui.get()
        return a

    def __init__(self, master):
        self.master = master
        self.master.title('TEST')

        self.fc_gui = DoubleVar(self.master, value = 500.00)

        self.fclabel1 = Label(self.master, text = 'Please Enter a value', fg = 'black', bg = 'yellow')
        self.fclabel1.grid(row = 0, column = 0)

        self.fcedit1 = Entry(self.master, textvariable = self.fc_gui, bd = 5  )
        self.fcedit1.grid(row = 1, column = 0)

        fcbutton1 = Button(self.master, text='GO', command = self.get_fc)
        fcbutton1.grid(row = 1, column = 1)

master = Tk()
MainWindow(master)
master.mainloop()

Tags: 用户selfmastergogetvaluedefgui
1条回答
网友
1楼 · 发布于 2024-10-01 00:28:03
  1. returnButton是没有意义的。Button无法处理该值。而是将该值另存为实例变量。你知道吗
  2. 你没有mainloop()。你知道吗
  3. 在用户点击“Go”之前,您无法真正检查用户是否输入了值,当然,在程序开始时,他们还没有输入任何内容。如果您需要跟踪此字段的内容,有很多方法可以做到这一点,但这不是简单验证所必需的。当他们按下按钮的时候检查一下数值。你知道吗

你知道吗

from Tkinter import *

class MainWindow():

    def get_fc(self):
        a = self.fc_gui.get()
        if a: # this block will execute if a has content
            self.a = a # save it for future use

    def __init__(self, master):
        self.master = master
        self.master.title('TEST')

        self.fc_gui = DoubleVar(self.master, value = 500.00)

        self.fclabel1 = Label(self.master, text='Please Enter a value',
                              fg = 'black', bg = 'yellow')
        self.fclabel1.grid(row = 0, column = 0)

        self.fcedit1 = Entry(self.master, textvariable = self.fc_gui, bd = 5  )
        self.fcedit1.grid(row = 1, column = 0)

        fcbutton1 = Button(self.master, text='GO', command = self.get_fc)
        fcbutton1.grid(row = 1, column = 1)

master = Tk()
MainWindow(master)
master.mainloop() # don't forget mainloop()

相关问题 更多 >