Python 2.7 tkSimpleDialog.Dialog 按 Enter 时崩溃
Python 2.7 tkSimpleDialog.Dialog crashes when pressing Enter
我从 tkSimpleDialog.Dialog 继承了一个 class。我从一个 tkInter 应用程序打开它,它有一些输入字段、一个确定按钮和一个取消按钮。
当此对话框打开并且我按下 Enter 按钮时,对话框和主应用程序完全冻结并且不会做任何进一步的事情。
我试图将 <"Return"> 事件绑定到它,以捕获,但没有发生任何其他事情,只是冻结。
遗憾的是我无法附上代码,因为这是我在公司的工作。
有谁知道我该如何解决这个问题,也许可以设置 Enter 按钮来激活它?
我用的是Python2.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
问题是您正在设置 self.master
。不幸的是,Tkinter 在内部使用 self.master
。要解决此问题,您需要选择不同的变量名称。
class OpenFileDialog(tkSimpleDialog.Dialog):
def body(self, master):
self._master = master
...
我从 tkSimpleDialog.Dialog 继承了一个 class。我从一个 tkInter 应用程序打开它,它有一些输入字段、一个确定按钮和一个取消按钮。
当此对话框打开并且我按下 Enter 按钮时,对话框和主应用程序完全冻结并且不会做任何进一步的事情。
我试图将 <"Return"> 事件绑定到它,以捕获,但没有发生任何其他事情,只是冻结。
遗憾的是我无法附上代码,因为这是我在公司的工作。
有谁知道我该如何解决这个问题,也许可以设置 Enter 按钮来激活它?
我用的是Python2.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
问题是您正在设置 self.master
。不幸的是,Tkinter 在内部使用 self.master
。要解决此问题,您需要选择不同的变量名称。
class OpenFileDialog(tkSimpleDialog.Dialog):
def body(self, master):
self._master = master
...