我正在使用GTK FileChooserDialog(gtk 2.14,pygtk 2.12)通过python(2.5.2)脚本在我的IDE中创建一个对话框。
在我的python脚本中,我创建了以下类。
class GTKFileDialog():
def __init__(self, *extension):
self.Selector = gtk.FileChooserDialog("dqfs", None, action=gtk.FILE_CHOOSER_ACTION_OPEN, buttons=(gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,gtk.STOCK_OPEN,gtk.RESPONSE_OK))
self.Selector.set_default_response(gtk.RESPONSE_OK)
self.Selector.set_current_folder(os.getcwd())
self.filter = gtk.FileFilter()
for ext in extensions:
self.filter.add_pattern(ext)
self.Selector.add_filter(self.filter)
# GTK button to finish the operation of selection
Button = gtk.Button("Select")
self.Selector.add_action_widget(Button, 10)
Button.show()
def run(self):
# Run the Selector object
out = self.Selector.run()
filename = None
if out == gtk.RESPONSE_OK:
filename = self.Selector.get_filename()
self.Selector.destroy()
# return the selected filename
return filename
现在每当我尝试为这个类创建对象时,我的python脚本崩溃,IDE关闭。
ChooseFile = GTKFileDialog(".png")
ChooseFile.run()
我甚至不知道它正在提出什么异常。我确信它不会执行run
函数。我尝试使用try / except但是没有用。任何人都可以告诉我我做错了什么吗?
任何想法,将不胜感激。
非常感谢你的帮助。
答案 0 :(得分:0)
您不必在run()
中销毁对话框,请尝试self.Selector.hide()
,看看会发生什么......