pos機(jī)打印程序例子,文本打印與光標(biāo)定位

 新聞資訊2  |   2023-06-12 09:11  |  投稿人:pos機(jī)之家

網(wǎng)上有很多關(guān)于pos機(jī)打印程序例子,文本打印與光標(biāo)定位的知識(shí),也有很多人為大家解答關(guān)于pos機(jī)打印程序例子的問題,今天pos機(jī)之家(m.dsth100338.com)為大家整理了關(guān)于這方面的知識(shí),讓我們一起來看下吧!

本文目錄一覽:

1、pos機(jī)打印程序例子

pos機(jī)打印程序例子

一、文本編輯器中的打印

1、QPlainTextEdit內(nèi)部的文檔結(jié)構(gòu)

(1)、QPlainTextEdit通過QTextDocument對(duì)象存儲(chǔ)文本數(shù)據(jù)

(2)、QPlainTextEdit本身只負(fù)責(zé)界面形態(tài)的顯示

(3)、QPlainTextEdit內(nèi)部有指針指向下面兩個(gè)類

2、QTextDocument是表示文本以及文本屬性的數(shù)據(jù)類

(1)、設(shè)置文本的屬性:排版,字體,標(biāo)題等

(2)、獲取文本參數(shù):行數(shù)、文本寬度、文本信息等

(3)、實(shí)現(xiàn)標(biāo)準(zhǔn)操作:撤銷、重做、查找、打印等

3、打印功能的實(shí)現(xiàn)步驟

(1)、連接QAction打印對(duì)象的信號(hào)到槽函數(shù)

(2)、在槽函數(shù)中定義QPrintDialog對(duì)象

(3)、根據(jù)用戶選擇獲取QPrinter對(duì)象

(4)、通過QTextDocument對(duì)象進(jìn)行打印

void MainWindow::onFilePrint(){ QPrintDialog dlg(this); dlg.setWindowTitle("Print"); if(dlg.exec()==QPrintDialog::Accepted) { QPrinter* p = dlg.printer();//將參數(shù)設(shè)置進(jìn)打印機(jī) mainEdit.document()->print(p); }}二、光標(biāo)位置的計(jì)算

1、思路

(1)、文本框?qū)ο蟮膬?nèi)部包含了QTextCursor對(duì)象

(2)、通過position() 成員函數(shù)獲取當(dāng)前光標(biāo)的字符位置

(3)、根據(jù)光標(biāo)的字符位置計(jì)算橫軸坐標(biāo)

(4)、當(dāng)光標(biāo)位置發(fā)生變化進(jìn)行計(jì)算

2、算法流程描述

(1)、通過'\'字符的個(gè)數(shù)計(jì)算所在行

(2)、通過最后一個(gè)'\'字符的下標(biāo)計(jì)算所在列

void MainWindow::onCursorPositionChanged(){ int pos = mainEdit.textCursor().position(); QString text = mainEdit.toPlainText();//獲取編輯器中的內(nèi)容 int ln = 0; int col = 0; int flag = -1; for(int i=0; i<pos; i++) { if(text[i] == '\') { ln++; flag = i; } } flag++;//如光標(biāo)在第十一行的某個(gè)位置,那么一共有十個(gè)換行符,flag++就是在第十行最后一個(gè)位置(即最后一個(gè)光標(biāo)所在位置) col = pos - flag;//用第十一行光標(biāo)所在位置減去前十行的總數(shù)就得第十一行的字符個(gè)數(shù),即縱坐標(biāo) statusLabel.setText("Ln: " + QString::number(ln+1)+ " Col: " + QString::number(col+1));}三、小結(jié)

(1)、QPlainTextEdit將數(shù)據(jù)和界面分開設(shè)計(jì)

(2)、QTextDocument用于存儲(chǔ)數(shù)據(jù)信息

(3)、QTextCursor用于提供光標(biāo)相關(guān)信息

(4)、可以通過光標(biāo)的字符位置信息計(jì)算坐標(biāo)

【領(lǐng)QT開發(fā)教程學(xué)習(xí)資料,點(diǎn)擊下方鏈接莬費(fèi)領(lǐng)取↓↓,先碼住不迷路~】

「鏈接」

以上就是關(guān)于pos機(jī)打印程序例子,文本打印與光標(biāo)定位的知識(shí),后面我們會(huì)繼續(xù)為大家整理關(guān)于pos機(jī)打印程序例子的知識(shí),希望能夠幫助到大家!

轉(zhuǎn)發(fā)請(qǐng)帶上網(wǎng)址:http://m.dsth100338.com/newsone/66718.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í),本站將立刻刪除。