按下Enter键

时间:2016-02-03 11:35:15

标签: python python-2.7 tkinter tk

我从tkSimpleDialog.Dialog继承了一个类。从tkInter应用程序中,我打开它,它有一些Entry字段,OK和Cancel按钮。

当此对话框打开时,我按下Enter按钮,对话框和主应用程序完全冻结,不再做任何事情。

我试图绑定<&#;;返回">事件发生,捕获,但没有其他事情发生,只是冻结。

可悲的是,我无法附加代码,因为这是我在公司工作的。

有没有人知道如何解决问题,并可能设置Enter按钮激活OK?

我使用的是Python 2.7,不能使用其他版本。

from Tkinter import *
import ttk
from tkFileDialog import askopenfilename, asksaveasfilename
import tkSimpleDialog
from mem_data import *
from collections import namedtuple

class OpenFileDialog(tkSimpleDialog.Dialog):

    def body(self, master):
        self.master = master

    def apply(self):
        self.result = "OK"enter code here

我称之为:

d = OpenFileDialog(self.master)
mcu = d.result

1 个答案:

答案 0 :(得分:0)

问题是您正在设置self.master。不幸的是,Tkinter在内部使用self.master。要解决此问题,您需要选择其他变量名称。

class OpenFileDialog(tkSimpleDialog.Dialog):
    def body(self, master):
        self._master = master
        ...