Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从tkinter向python脚本获取条目输入?_Python_User Interface_Tkinter_Python 3.6 - Fatal编程技术网

如何从tkinter向python脚本获取条目输入?

如何从tkinter向python脚本获取条目输入?,python,user-interface,tkinter,python-3.6,Python,User Interface,Tkinter,Python 3.6,几周前我开始用Python编程。我已经做了一个python程序,因此我现在用tkinter做一个gui。gui中的用户输入将由我已经编写的python程序处理。但是,当我运行我的程序并希望使用python程序中输入字段中的值时,它不会打印输入值。而是打印0,0 我得到了以下代码: 我得到了一个类,我用tkinter(gui_Pump.py)为我的gui制作了一个框架: 我得到了我的python程序,我想在其中处理输入值(pump.py) 从GUI导入* 将GUI_泵作为GuiP导入 D_MH_M

几周前我开始用Python编程。我已经做了一个python程序,因此我现在用tkinter做一个gui。gui中的用户输入将由我已经编写的python程序处理。但是,当我运行我的程序并希望使用python程序中输入字段中的值时,它不会打印输入值。而是打印0,0

我得到了以下代码: 我得到了一个类,我用tkinter(gui_Pump.py)为我的gui制作了一个框架:

我得到了我的python程序,我想在其中处理输入值(pump.py)

从GUI导入*
将GUI_泵作为GuiP导入
D_MH_MTR_SP_HLIM=1500.0
D_MH_MTR_SP_LLIM=0.0
def fc33_极限_实际值(最小值、英寸值、最大值):
如果IN=最大值:
输出=最大值
其他:
出=入
返回
p1_spd=GuiP.Pump1.p1_泵_spd1
p1泵spd=fc33极限值实值(D\U MH\U MTR\U SP\LLIM、p1\U spd、D\U MH\U MTR\U SP\HLIM)

但是如果我打印p1_泵p1_spd,无论我在输入字段中填写什么,我总是得到0,0。任何帮助都将不胜感激

您正在将用户输入分配给
GUI\u pump
模块中的全局变量
p1\u pump\u spd1
,但正在从
Pump1
类中的class属性
p1\u pump\u spd1
中检索值。这两个变量彼此完全不相关。@jasonharper如何使这些变量相互关联?请看一看。@figbeam感谢您的建议。我已经让它工作了。
import GUI as Gui
from GUI import *
import pump as Pomp

class Pump1(tk.Frame):
    p1_pump_spd1 = 0
    d_p1_mtr_on = 0

    def __init__(self, parent, controller):
        tk.Frame.__init__(self, parent)

        label = tk.Label(self, text='Test case')
        label.place(x=380, y=10)

        def validate(new_text):
            if not new_text:  # the field is being cleared
                self.entered_number = 0
                return True

            try:
                self.entered_number = int(new_text)
                return True
            except ValueError:
                return False

        def ok():
            global p1_pump_spd1
            p1_pump_spd1 = p1.get()
            try:
                p1_pump_spd1
            except ValueError:
                p1_pump_spd1 = 0
            print(Pomp.p1_pump_spd)

        vcmd = parent.register(validate)
        p1 = tk.Entry(self, width=10, validate='key', validatecommand=(vcmd, '%P'))
        btn_ok = tk.Button(self, text='ok', command=ok, width=2)
        p1.place(x=230, y=20)
        btn_ok.place(x=290, y=20)
from GUI import *
import GUI_Pump as GuiP

D_MH_MTR_SP_HLIM = 1500.0
D_MH_MTR_SP_LLIM = 0.0 

def fc33_limit_real(MIN, IN, MAX):
    if IN <= MIN:
        OUT = MIN
    elif IN >= MAX:
        OUT = MAX
    else:
        OUT = IN
    return OUT

p1_spd = GuiP.Pump1.p1_pump_spd1
p1_pump_spd = fc33_limit_real(D_MH_MTR_SP_LLIM, p1_spd, D_MH_MTR_SP_HLIM)