Wxpython保存文件对话框给出一个gtk警告



以下代码:

#!/usr/bin/env python
import wx
class MyForm(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None, wx.ID_ANY,
                          "File and Folder Dialogs Tutorial")
        panel = wx.Panel(self, wx.ID_ANY)
        saveFileDlgBtn = wx.Button(panel, label="Show SAVE FileDialog")
        saveFileDlgBtn.Bind(wx.EVT_BUTTON, self.onSaveFile)
        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(saveFileDlgBtn, 0, wx.ALL|wx.CENTER, 5)
        panel.SetSizer(sizer)

    def onSaveFile(self, event):
        """
        Create and show the Save FileDialog
        """
        dlg = wx.FileDialog(
            self, message="Save file as ...",
            defaultDir=".",
            defaultFile="", wildcard="*.*", style=wx.SAVE
            )
        if dlg.ShowModal() == wx.ID_OK:
            path = dlg.GetPath()
            print path
            fp = open(path, 'w')
            fp.write("bau bau")
            fp.close()
        dlg.Destroy()

if __name__ == "__main__":
    app = wx.App(False)
    frame = MyForm()
    frame.Show()
    app.MainLoop()
当我试图通过文件对话框小部件提供一个新名称test.txt来保存文件时,

在我的终端上给出以下消息:

(python:16795): Gtk-WARNING **: Unable to retrieve the file info for `file:///home/roberto/python/test.txt': Error stating file '/home/roberto/python/test.txt': No such file or directory

尽管这个消息,文件被正确保存,但我想了解为什么会出现这个消息以及如何避免它。这取决于系统中安装的gtk库吗?我正在用gtk 2.24版本和python-wxgtk2.8运行debian测试。

非常感谢。

我了解到Linux上的一些wxPython发行版已经打开了调试,这对于了解出错的原因非常有用,但它也显示了所有的gtk警告。听起来它正在正确地保存文件,所以您可能不需要担心它。您可以在wxPython邮件列表中询问更多的技术解释。

可能Gtk在默认情况下验证文件是否已经存在,因此它不会被直接覆盖。

最新更新