wxpython中的打印对话框出错

wxpython中的打印对话框出错,wxpython,Wxpython,这是我的密码: def Print(self, e): data = wx.PrintDialogData() data.EnableSelection(True) data.EnablePrintToFile(True) data.EnablePageNumbers(True) data.SetMinPage(1) data.SetMaxPage(5) data.SetAllPage

这是我的密码:

def Print(self, e):
        data = wx.PrintDialogData()
        data.EnableSelection(True)
        data.EnablePrintToFile(True)
        data.EnablePageNumbers(True)
        data.SetMinPage(1)
        data.SetMaxPage(5)
        data.SetAllPages(True)
        dlg = wx.PrintDialog(self, data)
        if dlg.ShowModal() == wx.ID_OK:
            data = dlg.GetPrintDialogData()
            self.log.write('GetAllPages: %d\n' % data.GetAllPages())
        dlg.Destroy()
当我尝试打开“打印”菜单选项时,出现以下错误:

data.SetAllPages(True)
AttributeError: 'PrintDialogData' object has no attribute 'SetAllPages'

这是因为
PrintDialogData
没有
SetAllPages
属性。
我怀疑您误解了
data.GetAllPages()
函数的使用, 如果用户在调用对话框后请求打印所有页面,则返回True。
i、 e.如果用户选择“所有页面”选项,则在
PrintDialog
功能中将其设置为True,否则设置为False

def Print(self, e):
        data = wx.PrintDialogData()
        data.EnableSelection(True)
        data.EnablePrintToFile(True)
        data.EnablePageNumbers(True)
        data.SetMinPage(1)
        data.SetMaxPage(5)
        dlg = wx.PrintDialog(self,data)
        if dlg.ShowModal() == wx.ID_OK:
            data = dlg.GetPrintDialogData()
            print (data.GetAllPages())
        dlg.Destroy()

请注意,在执行
dlg.Destroy()

之前,您应该
从对话框中获取所需的所有返回值。谢谢您,但是这个打印对话框是否正常(是否可以打印)?@blinkdocs我必须承认,我从未使用过它,因为它对于我的要求来说太复杂了。有关更多信息,请参阅:或