Тут такое дело... в Терминальной программе(для АСО)
У меня есть принтер CUSTOM-VKP80, он у меня установлен как Windows принтер через usb порт..
вот так я отправляю на печать
bool MainWindow::go_to_print(const QString &str,bool preview)
{
#ifndef QT_NO_PRINTER
QPrinter printer(QPrinter::HighResolution);
int vrmWidth = configMap["width_chec"]["value"].toInt();
int vrmHeight = configMap["height_chec"]["value"].toInt();
int vrmLeftMargin = configMap["left_margin_chec"]["value"].toInt();
int vrmTopMargin = configMap["top_margin_chec"]["value"].toInt();
int vrmRightMargin = configMap["right_margin_chec"]["value"].toInt();
int vrmBottomMargin = configMap["bottom_margin_chec"]["value"].toInt();
printer.setPaperSize(QSizeF(vrmWidth,vrmHeight),QPrinter::Millimeter);
qreal left = vrmLeftMargin;
qreal top = vrmTopMargin;
qreal right = vrmRightMargin;
qreal bottom = vrmBottomMargin;
printer.setPageMargins(left,top,right,bottom,QPrinter::Millimeter);
textBrowser->setText(str);
textBrowser->print(&printer);
#endif
return true;
}
все работает нормально и печатает...
хотел сделать следующее ... перед отправкой на печать проверяю есть ли бумага...
int MainWindow::get_status_from_printer()
{
int sts = 0;
#ifndef QT_NO_PRINTER
QPrinter printer(QPrinter::HighResolution);
sts = printer.printerState();
#endif
return sts;
}
тут он всегда возвращает 0... чтобы не случилось
поэтому я отправляю всегда на печать чек от каждого платежа, соответсвенно если кончается бумага то очередь накапливается большая...
ВОТ ПЕРВЫЙ ВОПРОС КАК УБИВАТЬ ДАННУЮ ОЧЕРЕДЬ...??
в свойствах принтера нашел печать на прамую в принтер...(тоесть не в очередь), опять таки при отсутствии бумаги прога при отправки на печать полностью зависает на несколько минут...
КАК БЫТЬ И ЧТО Я ДЕЛАЮ НЕ ТАК..??