代码之家  ›  专栏  ›  技术社区  ›  mobcdi

从wxPython启动外部应用程序

  •  0
  • mobcdi  · 技术社区  · 7 年前

    2 回复  |  直到 7 年前
        1
  •  2
  •   Mike Driscoll    7 年前

    我建议使用Python的 os os.startfile(path) . 你也可以使用 subprocess 这个模块也是。

    有关文件选择器的第二个问题,请参见“可能需要” wx.FileDialog

        2
  •  1
  •   Rolf of Saxony    7 年前

    wx.LaunchDefaultBrowser(url, flags=0) 是您正在寻找的功能。

    import  wx
    
    class MyPanel(wx.Panel):
        def __init__(self, parent):
            wx.Panel.__init__(self, parent, id=-1)
            sizer = wx.BoxSizer(wx.VERTICAL)
            btn = wx.Button(self, wx.NewId(), "Open PDF File",size=(20,50))
            self.Bind(wx.EVT_BUTTON, self.OnOpenButton, btn)
            sizer.Add(btn, 0, flag=wx.EXPAND|wx.ALL)
            self.SetSizer(sizer)
    
        def OnOpenButton(self, event):
            dlg = wx.FileDialog(self, wildcard="*.pdf")
            if dlg.ShowModal() == wx.ID_OK:
                url = dlg.GetPath()
            dlg.Destroy()
            try:
                if not url:
                    return
            except:
                return
            wx.LaunchDefaultBrowser(url)
    
    app = wx.App()
    frame = wx.Frame(None, -1, "PDF Default Browser", size = (640, 480))
    MyPanel(frame)
    frame.Show(True)
    app.MainLoop()
    
    推荐文章