我从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
答案 0 :(得分:0)
问题是您正在设置self.master
。不幸的是,Tkinter在内部使用self.master
。要解决此问题,您需要选择其他变量名称。
class OpenFileDialog(tkSimpleDialog.Dialog):
def body(self, master):
self._master = master
...