pos機重新打印憑條,打印對話框和頁面設(shè)置對話框

 新聞資訊  |   2023-07-03 09:53  |  投稿人:pos機之家

網(wǎng)上有很多關(guān)于pos機重新打印憑條,打印對話框和頁面設(shè)置對話框的知識,也有很多人為大家解答關(guān)于pos機重新打印憑條的問題,今天pos機之家(www.rcqwhg.com)為大家整理了關(guān)于這方面的知識,讓我們一起來看下吧!

本文目錄一覽:

1、pos機重新打印憑條

pos機重新打印憑條

實戰(zhàn)wxPython系列-024

wx.PrintDialog類提供了一個用于指定打印機配置的對話框。該對話框允許用戶更改與文檔相關(guān)的設(shè)置,例如紙張尺寸和方向,打頁面范圍以及要打印的份數(shù)。它提供控件以使用戶能夠從可用的打印機中進行選擇,包括任何已配置的網(wǎng)絡(luò)打印機。 在Window上使用本機打印對話框。

wx.PageSetupDialog控件用于設(shè)置頁面詳細信息以便打印。允許用戶設(shè)置邊框和邊距調(diào)整量、頁眉和頁腳以及縱向或橫向打印。

一、wx.PrintDialog簡介

Wx.PrintDialog打印和打印設(shè)置公共對話框。其常用方法有:

GetPrintDC(self):返回打印對話框創(chuàng)建的設(shè)備上下文(如果有的話)。當調(diào)用此函數(shù)時,設(shè)備上下文的所有權(quán)將轉(zhuǎn)移到應(yīng)用程序,因此必須顯式地刪除它。GetPrintData(self):返回與打印對話框關(guān)聯(lián)的打印數(shù)據(jù)。GetPrintDialogData(self):返回與打印對話框關(guān)聯(lián)的打印對話框數(shù)據(jù)。ShowModal(self): 顯示對話框,如果點擊了wx.OK按鈕則返回wx.ID_OK,否則返回wx.ID_CANCEL。

圖1:wx.PrintDialog類繼承關(guān)系

二、wx.PrintDialogData

wx.PrintDialogData保存wx.PrintDialog中與可視特性相關(guān)的數(shù)據(jù)信息。其常用方法有:

EnableHelp(self, flag):啟用或者禁用”幫助”按鈕。EnablePageNumbers(self, flag):啟用或者禁用”頁碼” 范圍控制。EnablePrintToFile(self, flag):啟用或者禁用”打印到文件”復(fù)選按鈕。EnableSelection(self, flag):啟用或者禁用”選定范圍”單選按鈕。GetAllPages(self):如果用戶請求打印所有頁面,則返回True。GetCollate(self):如果用戶請求對文檔進行排序,則返回True。GetFromPage(self):返回用戶輸入的from頁碼。GetMaxPage(self):返回最大頁碼。GetMinPage(self):返回最小頁碼。GetNoCopies(self):返回用戶請求打印的份數(shù)。GetPrintData(self):返回內(nèi)部引用的wx.PrintData對象。GetPrintToFile(self):如果用戶選擇打印到文件,則返回True。GetSelection(self):如果用戶要求打印選擇項,則返回True(其中“選擇”是特定于應(yīng)用程序的概念)。GetToPage(self):返回用戶輸入的“打印到”頁碼。IsOk(self):如果打印數(shù)據(jù)在打印對話框中使用有效,則返回True。例如,如果當前打印機未設(shè)置,則在Windows上返回False。在所有其他平臺上,它返回True。SetCollate(self, flag):設(shè)置“Collate”復(fù)選框為True或False。SetFromPage(self, page):設(shè)置起始頁碼。SetMaxPage(self, page):設(shè)置最大頁碼。SetMinPage(self, page):設(shè)置最小頁碼。SetNoCopies(self, n):設(shè)置用戶要求打印的默認份數(shù)。SetPrintData(self, printData):設(shè)置內(nèi)部使用的wx.PrintData對象。SetPrintToFile(self, flag):將“打印到文件”復(fù)選框設(shè)置為True或False。SetSelection(self, flag):選擇“選擇”單選按鈕。打印選擇的效果取決于應(yīng)用程序如何實現(xiàn)該命令。SetToPage(self, page):設(shè)置“打印到”頁碼。

三、wx.PrintDialog演示

下面的代碼演示如何使用wx.PrintDialog在程序中實現(xiàn)打印功能。

#打印對話框(PrintDialog)import wxclass SamplePrintDialog(wx.Frame): def __init__(self, *args, **kw): super(SamplePrintDialog, self).__init__(*args, **kw) self.InitUi() def InitUi(self): #設(shè)置標題 self.SetTitle("實戰(zhàn)wxPython: 打印對話框") #設(shè)置窗口尺寸 self.SetSize(360, 240) self.CreateStatusBar() panel = wx.Panel(self) btnTest = wx.Button(panel, label="測試打印對話框", pos = (100, 20)) btnTest.Bind(wx.EVT_BUTTON, self.OnOpenPrintDialog) self.Centre() def OnOpenPrintDialog(self, e): data = wx.PrintDialogData() data.EnableSelection(True) data.EnablePrintToFile(True) data.EnablePageNumbers(True) data.SetMinPage(1) data.SetMaxPage(10) #data.EnablePageNumbers(False) dlg = wx.PrintDialog(self, data) if dlg.ShowModal() == wx.ID_OK: data = dlg.GetPrintDialogData() #print("all pages: %d\" % data.GetAllPages()) sbar = self.GetStatusBar() if data.GetAllPages(): sbar.SetStatusText("打印已完成") dlg.Destroy()def main(): app = wx.App() sample = SamplePrintDialog(None) sample.Show() app.MainLoop()if __name__ == "__main__": main()

運行上面的代碼,在Windows系統(tǒng)下,其界面如圖2:

圖2:打印對話框測試

當我們點擊”測試打印對話框”,將彈出打印對話框,如圖3所示:

圖3:打印對話框

點擊打印,打印完畢,返回主窗口,在主窗口狀態(tài)欄顯示信息”打印已完成”。

圖4:打印測試完成

四、wx.PageSetupDialog頁面設(shè)置對話框

wx.PageSetupDialog實現(xiàn)一個頁面設(shè)置通用對話框。頁面設(shè)置對話框包含紙張大小(字母,A4, A5等),方向(橫向或縱向)的控件,以及(目前僅在Windows下)設(shè)置左,上,右和底部空白大小(毫米)的控件。因為在可用時使用本機對話框(目前所有主要平臺都是這種情況)都使用本機對話框,所以該對話框的外觀因平臺而異。

注意點擊確認按鈕(wx.OK)和取消按鈕(wx.Cancel) 不會釋放本對話框,這一步必須由應(yīng)用程序來完成。

wx.PageSetupDialog常用方法:

GetPageSetupData(self):返回對話框關(guān)聯(lián)的wx.PageSetupDialogData對象。ShowModal(self): 顯示對話框,如果點擊了wx.OK按鈕則返回wx.ID_OK,否則返回wx.ID_CANCEL。

圖5:wx.PageSetupDialog類繼承關(guān)系

五、wx.PageSetupDialogData

wx.PageSetupDialogData保存與wx.PageSetupDialog相關(guān)的各種信息。它包含一個wx.PrintData成員,用于保存基本打印機配置數(shù)據(jù)(與wx.PageSetupDialogData存儲的用戶界面配置設(shè)置相對)。

wx.PageSetupDialogDat的常用方法有:

EnableMargins(self, flag):啟用或禁用頁邊距控制(僅限Windows)。EnableOrientation(self, flag):啟用或禁用方向控制(僅限Windows)。EnablePaper(self, flag):啟用或禁用紙張大小控制(僅限Windows)。EnablePrinter(self, flag):啟用或禁用“打印機”按鈕,該按鈕調(diào)用打印機設(shè)置對話框。GetDefaultInfo(self):如果對話框只是返回默認打印機信息(如方向)而不是顯示對話框(僅限Windows),則返回True。GetDefaultMinMargins(self):如果頁面設(shè)置對話框?qū)漠斍斑x定的打印機屬性中獲取其最小邊距值(僅限Windows),則返回True。GetEnableMargins(self):如果打印機設(shè)置按鈕被啟用,則返回True。GetEnableOrientation(self):如果方向控制已啟用,則返回True(僅限Windows)。GetEnablePaper(self):如果紙張大小控制已啟用,則返回True(僅限Windows)。GetEnablePrinter(self):如果打印機設(shè)置按鈕被啟用,則返回True。GetMarginBottomRight(self):返回以毫米為單位的右側(cè)(x)和底部(y)頁邊距。GetMarginTopLeft(self):以毫米為單位返回左邊(x)和上面(y)的頁邊距。GetMinMarginBottomRight(self):返回用戶可以輸入的右側(cè)(x)和底部(y)最小頁邊距(僅限Windows)。GetMinMarginTopLeft(self):返回用戶可以輸入的左(x)和上(y)最小頁邊距(僅限Windows)。GetPaperSize(self):以毫米為單位返回紙張大小。GetPrintData(self):返回與此關(guān)聯(lián)的打印數(shù)據(jù)的引用對象。IsOk(self):如果與對話框數(shù)據(jù)相關(guān)聯(lián)的打印數(shù)據(jù)有效,則返回True。例如,如果當前打印機未設(shè)置,則在Windows上返回False。在所有其他平臺上,它返回True。SetDefaultInfo(self, flag):如果對話框只是返回默認的打印機信息(例如方向)而不是顯示對話框(僅限Windows),則傳遞True。SetDefaultMinMargins(self, flag):如果頁面設(shè)置對話框?qū)漠斍斑x定的打印機屬性中獲取最小邊距值(僅限Windows),則傳遞True。單位為毫米。SetMarginBottomRight(self, pt):以毫米為單位設(shè)置右側(cè)(x)和底部(y)頁邊距。SetMarginTopLeft(self, pt):以毫米為單位設(shè)置左邊(x)和上面(y)的頁邊距。SetMinMarginBottomRight(self, pt):設(shè)置用戶可以輸入的右側(cè)(x)和底部(y)最小頁邊距(僅限Windows)。SetMinMarginTopLeft(self, pt):設(shè)置用戶可以輸入的左(x)和上(y)最小頁邊距(僅限Windows)。SetPaperSize(self, size):設(shè)置紙張大小,單位為毫米。SetPrintData(self, printData):設(shè)置與打印關(guān)聯(lián)的打印數(shù)據(jù)對象。

六、wx.PageSetupDialog演示

下面的代碼演示如何使用wx.PageSetupDialogData設(shè)置頁面相關(guān)控制數(shù)據(jù),然后調(diào)用wx.PrintDialogData完成頁面設(shè)置。

#頁面設(shè)置對話框(wx.PageSetupDialog)import wxclass SamplePageSetupDialog(wx.Frame): def __init__(self, *args, **kw): super(SamplePageSetupDialog, self).__init__(*args, **kw) self.InitUi() def InitUi(self): #設(shè)置標題 self.SetTitle("實戰(zhàn)wxPython: PageSetupDialog演示") #設(shè)置窗口尺寸 self.SetSize(320, 240) self.CreateStatusBar() panel = wx.Panel(self) btnTest = wx.Button(panel, label="測試頁面對話框", pos = (100, 20)) btnTest.Bind(wx.EVT_BUTTON, self.OnTestPageSetupDialog) self.Centre() def OnTestPageSetupDialog(self, e): data = wx.PageSetupDialogData() data.EnableMargins(True) data.EnableOrientation(True) data.SetMarginTopLeft((10, 10)) data.SetMarginBottomRight((10, 10)) dlg = wx.PageSetupDialog(self, data) if dlg.ShowModal() == wx.ID_OK: data = dlg.GetPageSetupData() sbar = self.GetStatusBar() sbar.SetStatusText("頁面設(shè)置完成")def main(): app = wx.App() sample = SamplePageSetupDialog(None) sample.Show() app.MainLoop()if __name__ == "__main__": main()

運行上述代碼,點擊窗口中的”測試頁面對話框”按鈕,打開頁面設(shè)置對話框,進行頁面設(shè)置。

圖6:頁面設(shè)置對話框

七、本文知識點

如何使用wx.PrintDialog進行打印操作。了解wx.PrintDialogData常用方法。了解和使用wx.PageSetupDialog頁面設(shè)置對話框。了解wx.PageSetupDialogData常用方法。

前一篇:wxPython – 單選和多選列表對話框

請關(guān)注,評論,收藏,點贊,和轉(zhuǎn)發(fā)。

以上就是關(guān)于pos機重新打印憑條,打印對話框和頁面設(shè)置對話框的知識,后面我們會繼續(xù)為大家整理關(guān)于pos機重新打印憑條的知識,希望能夠幫助到大家!

轉(zhuǎn)發(fā)請帶上網(wǎng)址:http://www.rcqwhg.com/news/77277.html

你可能會喜歡:

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 babsan@163.com 舉報,一經(jīng)查實,本站將立刻刪除。