wxPython-4.0.6 / python3.6.8分段错误

时间:2019-07-14 15:16:47

标签: python-3.6 ubuntu-18.04 wxpython-phoenix

我正在尝试使用wx.PageSetupDialog()和wx.PageSetupDialogData()类为打印机设置接口。执行 SetPrintData()方法导致分段错误(核心转储)错误。

问题似乎出在wxPython界面中,但我怀疑代码中的某些内容是负责任的。我很困惑。

In Pc.py:
prntData          = wx.PrintData ()

In the problem Frame.py file:
import Pc as pc
...
def OnPrint (self, evt):
    print ('OnPrint ()')                          #x
    print (pc.prntData)                           #x
    print (pc.prntData.GetPaperId (),
           pc.prntData.GetOrientation (),
           pc.prntData.GetPrinterName (), '\n')   #x

    data = wx.PageSetupDialogData ()
    data.SetPrintData (pc.prntData)       #  <-- Segmentation fault

    dlg = wx.PageSetupDialog (self, data)

    if dlg.ShowModal () == wx.ID_OK:
        data = dlg.GetPageSetupData ().GetPrintData ()
        pc.prntData.SetPaperId (data.GetPaperId ())
        pc.prntData.SetOrientation (data.GetOrientation ())
        pc.prntData.SetPrinterName (data.GetPrinterName ())

    dlg.Destroy()

如果标记为细分错误的行被注释掉,则不会发生该错误。

屏幕输出为:

OnPrint() 3 2 HP-Officejet-7300系列

分段错误(核心已转储)

0 个答案:

没有答案