这是我的代码:
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'
答案 0 :(得分:0)
这是因为PrintDialogData
没有SetAllPages
属性。
我怀疑您误解了data.GetAllPages()
函数的使用,
如果用户要求打印所有页面,则返回True,在之后调用对话框。
即,如果用户选择“所有页面”选项,则在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()
请注意,在Get