Диалог сохранения файла wxpython выдает gtk-предупреждение - PullRequest
3 голосов
/ 09 ноября 2011

код здесь ниже:

#!/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 установлены в моей системе? Я запускаю тестирование Debian с помощью gtk версии 2.24 и python-wxgtk2.8.

Большое спасибо.

Roberto

Ответы [ 2 ]

2 голосов
/ 09 ноября 2011

Я читал, что в некоторых дистрибутивах wxPython в Linux включена отладка, что отлично подходит для понимания, почему что-то идет не так, но также отображает все предупреждения gtk.Похоже, что он правильно сохраняет файл, так что вам не нужно беспокоиться об этом.Вы можете попросить в списке рассылки wxPython более подробное техническое объяснение.

0 голосов
/ 07 декабря 2011

Возможно, Gtk по умолчанию проверяет, существует ли файл, чтобы он не был перезаписан напрямую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...