请问有没有人用wxpython啊?

请问有没有人用wxpython啊?

我初学python,现在想用wxpython来写小工具。请各位高手帮帮忙,指点一下
      wxpython 中的 FileDialog.py 文件用来打开某个文件,如下:



QUOTE:
import  os
import  wx

# This is how you pre-establish a file filter so that the dialog
# only shows the extension(s) you want it to.
wildcard = " Python source (*.py)|*.py|"     \
           "Compiled Python (*.pyc)|*.pyc|" \
           "SPAM files (*.spam)|*.spam|"    \
           "Egg file (*.egg)|*.egg|"        \
           "All files (*.*)|*.*"

#---------------------------------------------------------------------------

class TestPanel(wx.Panel):
    def __init__(self, parent, log):
        self.log = log
        wx.Panel.__init__(self, parent, -1)

        b = wx.Button(self, -1, "Create and Show an OPEN FileDialog", (50,50))
        self.Bind(wx.EVT_BUTTON, self.OnButton, b)

        b = wx.Button(self, -1, "Create and Show a SAVE FileDialog", (50,90))
        self.Bind(wx.EVT_BUTTON, self.OnButton2, b)

    def OnButton(self, evt):
        self.log.WriteText("CWD: %s\n" % os.getcwd())

        dlg = wx.FileDialog(
            self, message="Choose a file", defaultDir=os.getcwd(),
            defaultFile="", wildcard=wildcard, style=wx.OPEN | wx.MULTIPLE | wx.CHANGE_DIR
            )

        # Show the dialog and retrieve the user response. If it is the OK response,
        # process the data.
        if dlg.ShowModal() == wx.ID_OK:
            # This returns a Python list of files that were selected.
            paths = dlg.GetPaths()

            self.log.WriteText('You selected %d files:' % len(paths))

            for path in paths:
                self.log.WriteText('           %s\n' % path)

        # Compare this with the debug above; did we change working dirs?
        self.log.WriteText("CWD: %s\n" % os.getcwd())

        # Destroy the dialog. Don't do this until you are done with it!
        # BAD things can happen otherwise!
        dlg.Destroy()


    def OnButton2(self, evt):
            .
        .
        .

#---------------------------------------------------------------------------

def runTest(frame, nb, log):
    win = TestPanel(nb, log)
    return win

#---------------------------------------------------------------------------

overview = "'..."'

if __name__ == '__main__':
    import sys,os
    import run
    run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])



函数 OnButton 中的文件信息似乎是打印到 log 中的,那么如何在这个函数中实现将文件打开的功能呢?

wxpython是最好的python GUI framework 。 在limodou 大侠的带领下。 这里有好多人用wxpython.


paths = dlg.GetPaths()   取得一个 包含你所所选定文件位置 的list

你可以把这个 list 传递给其他function 进行处理。

如果你只选定了一个文件的话,  paths[0] 就是你所选定的文件的绝对位置。
在 paths = dlg.GetPaths() 这行下用
self.file = open(paths[0],'r')

你就得到这个文件的 reference 了。

GetPath      只能选择一个文件
GetPaths    可以选取多个文件,打开后是一个list吧


QUOTE:
paths = dlg.GetPaths()   取得一个 包含你所所选定文件位置 的list

你可以把这个 list 传递给其他function 进行处理。

如果你只选定了一个文件的话,  paths[0] 就是你所选定的文件的绝对位置。
在 paths = dlg.GetPaths() 这行下用
self.file = open(paths[0],'r')

谢谢你!可是我现在不明白的地方是,我要显示这个打开的文件,具体用什么方法?
我不想把这个文件显示在一个Frame或是其它的框架中,只是打开它并且可以用来编辑,这个处理不知道怎么做。
初学者,请多指教
wxpython中有预制的editor.   你可以通过     
ed = wx.lib.editor.Editor()  
ed.SetText(file.readines())
来调用打开文件。

python 编程虽然简单,,但你还是得学不少东西的。。 建议你先看书,再尝试。