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

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

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

本文目錄一覽:

1、pos機(jī)重新打印憑條

pos機(jī)重新打印憑條

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

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

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

一、wx.PrintDialog簡(jiǎn)介

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

GetPrintDC(self):返回打印對(duì)話框創(chuàng)建的設(shè)備上下文(如果有的話)。當(dāng)調(diào)用此函數(shù)時(shí),設(shè)備上下文的所有權(quán)將轉(zhuǎn)移到應(yīng)用程序,因此必須顯式地刪除它。GetPrintData(self):返回與打印對(duì)話框關(guān)聯(lián)的打印數(shù)據(jù)。GetPrintDialogData(self):返回與打印對(duì)話框關(guān)聯(lián)的打印對(duì)話框數(shù)據(jù)。ShowModal(self): 顯示對(duì)話框,如果點(diǎn)擊了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):?jiǎn)⒂没蛘呓谩睅椭卑粹o。EnablePageNumbers(self, flag):?jiǎn)⒂没蛘呓谩表摯a” 范圍控制。EnablePrintToFile(self, flag):?jiǎn)⒂没蛘呓谩贝蛴〉轿募睆?fù)選按鈕。EnableSelection(self, flag):?jiǎn)⒂没蛘呓谩边x定范圍”單選按鈕。GetAllPages(self):如果用戶請(qǐng)求打印所有頁面,則返回True。GetCollate(self):如果用戶請(qǐng)求對(duì)文檔進(jìn)行排序,則返回True。GetFromPage(self):返回用戶輸入的from頁碼。GetMaxPage(self):返回最大頁碼。GetMinPage(self):返回最小頁碼。GetNoCopies(self):返回用戶請(qǐng)求打印的份數(shù)。GetPrintData(self):返回內(nèi)部引用的wx.PrintData對(duì)象。GetPrintToFile(self):如果用戶選擇打印到文件,則返回True。GetSelection(self):如果用戶要求打印選擇項(xiàng),則返回True(其中“選擇”是特定于應(yīng)用程序的概念)。GetToPage(self):返回用戶輸入的“打印到”頁碼。IsOk(self):如果打印數(shù)據(jù)在打印對(duì)話框中使用有效,則返回True。例如,如果當(dāng)前打印機(jī)未設(shè)置,則在Windows上返回False。在所有其他平臺(tái)上,它返回True。SetCollate(self, flag):設(shè)置“Collate”復(fù)選框?yàn)門rue或False。SetFromPage(self, page):設(shè)置起始頁碼。SetMaxPage(self, page):設(shè)置最大頁碼。SetMinPage(self, page):設(shè)置最小頁碼。SetNoCopies(self, n):設(shè)置用戶要求打印的默認(rèn)份數(shù)。SetPrintData(self, printData):設(shè)置內(nèi)部使用的wx.PrintData對(duì)象。SetPrintToFile(self, flag):將“打印到文件”復(fù)選框設(shè)置為True或False。SetSelection(self, flag):選擇“選擇”單選按鈕。打印選擇的效果取決于應(yīng)用程序如何實(shí)現(xiàn)該命令。SetToPage(self, page):設(shè)置“打印到”頁碼。

三、wx.PrintDialog演示

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

#打印對(duì)話框(PrintDialog)import wxclass SamplePrintDialog(wx.Frame): def __init__(self, *args, **kw): super(SamplePrintDialog, self).__init__(*args, **kw) self.InitUi() def InitUi(self): #設(shè)置標(biāo)題 self.SetTitle("實(shí)戰(zhàn)wxPython: 打印對(duì)話框") #設(shè)置窗口尺寸 self.SetSize(360, 240) self.CreateStatusBar() panel = wx.Panel(self) btnTest = wx.Button(panel, label="測(cè)試打印對(duì)話框", 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()

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

圖2:打印對(duì)話框測(cè)試

當(dāng)我們點(diǎn)擊”測(cè)試打印對(duì)話框”,將彈出打印對(duì)話框,如圖3所示:

圖3:打印對(duì)話框

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

圖4:打印測(cè)試完成

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

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

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

wx.PageSetupDialog常用方法:

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

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

五、wx.PageSetupDialogData

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

wx.PageSetupDialogDat的常用方法有:

EnableMargins(self, flag):?jiǎn)⒂没蚪庙撨吘嗫刂?僅限Windows)。EnableOrientation(self, flag):?jiǎn)⒂没蚪梅较蚩刂?僅限Windows)。EnablePaper(self, flag):?jiǎn)⒂没蚪眉垙埓笮】刂?僅限Windows)。EnablePrinter(self, flag):?jiǎn)⒂没蚪谩按蛴C(jī)”按鈕,該按鈕調(diào)用打印機(jī)設(shè)置對(duì)話框。GetDefaultInfo(self):如果對(duì)話框只是返回默認(rèn)打印機(jī)信息(如方向)而不是顯示對(duì)話框(僅限Windows),則返回True。GetDefaultMinMargins(self):如果頁面設(shè)置對(duì)話框?qū)漠?dāng)前選定的打印機(jī)屬性中獲取其最小邊距值(僅限Windows),則返回True。GetEnableMargins(self):如果打印機(jī)設(shè)置按鈕被啟用,則返回True。GetEnableOrientation(self):如果方向控制已啟用,則返回True(僅限Windows)。GetEnablePaper(self):如果紙張大小控制已啟用,則返回True(僅限Windows)。GetEnablePrinter(self):如果打印機(jī)設(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ù)的引用對(duì)象。IsOk(self):如果與對(duì)話框數(shù)據(jù)相關(guān)聯(lián)的打印數(shù)據(jù)有效,則返回True。例如,如果當(dāng)前打印機(jī)未設(shè)置,則在Windows上返回False。在所有其他平臺(tái)上,它返回True。SetDefaultInfo(self, flag):如果對(duì)話框只是返回默認(rèn)的打印機(jī)信息(例如方向)而不是顯示對(duì)話框(僅限Windows),則傳遞True。SetDefaultMinMargins(self, flag):如果頁面設(shè)置對(duì)話框?qū)漠?dāng)前選定的打印機(jī)屬性中獲取最小邊距值(僅限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ù)對(duì)象。

六、wx.PageSetupDialog演示

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

#頁面設(shè)置對(duì)話框(wx.PageSetupDialog)import wxclass SamplePageSetupDialog(wx.Frame): def __init__(self, *args, **kw): super(SamplePageSetupDialog, self).__init__(*args, **kw) self.InitUi() def InitUi(self): #設(shè)置標(biāo)題 self.SetTitle("實(shí)戰(zhàn)wxPython: PageSetupDialog演示") #設(shè)置窗口尺寸 self.SetSize(320, 240) self.CreateStatusBar() panel = wx.Panel(self) btnTest = wx.Button(panel, label="測(cè)試頁面對(duì)話框", 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()

運(yùn)行上述代碼,點(diǎn)擊窗口中的”測(cè)試頁面對(duì)話框”按鈕,打開頁面設(shè)置對(duì)話框,進(jìn)行頁面設(shè)置。

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

七、本文知識(shí)點(diǎn)

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

前一篇:wxPython – 單選和多選列表對(duì)話框

請(qǐng)關(guān)注,評(píng)論,收藏,點(diǎn)贊,和轉(zhuǎn)發(fā)。

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

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

你可能會(huì)喜歡:

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