QT调用打印机的实现

20 篇文章 4 订阅

在QT中,实现打印功能,我们可以通过调用QPrinter类来实现。(这里为pos58热敏打印机)

如下实例:

.h文件:

#include <QPrintDialog>
#include <QPrinter>
#include <QPrintPreviewDialog>
#include <QFileDialog>
#include <QPageSetupDialog>
<pre name="code" class="cpp">namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT


public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private slots:

    void doPrint();//打印

private:
    Ui::MainWindow *ui;
    QSqlDatabase db;//数据库句柄
};


 .cpp文件: 

void MainWindow::doPrint()//打印
{
    // 创建打印机对象
    QPrinter printer;
    // 创建打印对话框
    QString printerName = printer.printerName();
    if( printerName.size() == 0)
        return;
<pre name="code" class="cpp">//QPrintDialog dlg(&printer, this);
if (dlg.exec() == QDialog::Accepted)
    {
<pre name="code" class="cpp">QTextDocument doc;

        //doc.setHtml(htmlString);
        QFont font = doc.defaultFont();


        //font.setBold(true);
        font.setPointSize(3);
        doc.setDefaultFont(font);
        //打印尺寸
        QSizeF s = QSizeF(printer.logicalDpiX() * (58 / 25.4), printer.logicalDpiY() * (297 / 25.4));
        doc.setPageSize(s);
        printer.setPageSizeMM(s);
        printer.setOutputFormat(QPrinter::NativeFormat);
<pre name="code" class="cpp">doc.setHtml("hello");//打印hello

        doc.print(&printer);
    }

}

 
 


 



  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值