Russian Qt Forum
Май 13, 2024, 02:30 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Печать штрих кода на термопринтере.  (Прочитано 4562 раз)
Vladimir_Klyuev
Гость
« : Июль 14, 2014, 11:07 »

Доброго всем времени суток.

Требуется отправить на печать на термопринтер набор чисел в виде штрих кода.
1. Прошу разъяснить как реализовать такую задачу.
2. Возможно ли отправка на принтер без диалогового окна о выборе принтера и т.п. (где-то читал, что можно), но хотел бы по подробнее.

Сразу скажу, новичок в qt, поэтому чем подробнее будет объяснено, тем лучше Подмигивающий
Записан
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #1 : Июль 14, 2014, 11:19 »

Vladimir_Klyuev, будет продуктивнее если вы сами поищете в документации и примерах как с использованием Qt выводить на печать, поищите готовые решения как сформировать изображение штрих кода и начнете задавать более конкретные вопросы.
Потому как с такой формулировкой как у вас, вам в раздел "Предложения работы" .
Записан
Vladimir_Klyuev
Гость
« Ответ #2 : Июль 14, 2014, 14:25 »

С подачей на печать проблем нет. Проблемы как раз с созданием штрих кода. Может подскажете рабочие решения!?
Записан
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #3 : Июль 14, 2014, 15:04 »

я лично никогда не работал с штрих кодами, но вот нагуглил вот такое :
http://www.qtcentre.org/wiki/index.php?title=EAN-13_Barcode_class
https://code.google.com/p/libbarpp/
https://github.com/zint/zint
Записан
Vladimir_Klyuev
Гость
« Ответ #4 : Июль 15, 2014, 13:24 »

В приницпе можно использовать EAN13 http://www.qtcentre.org/wiki/index.php?title=EAN-13_Barcode_class

Поставил как отдельный проект - все работает.
Вопрос вот какой, я из существующего проекта должен вызвать текущий алгоритм для генерации штрих кода, а точнее сразу послать его на печать.

Вызываю
Код:
EAN13 code("200001000000");
code.draw(QRectF(50, 50, 400, 200), *painter);

Соответственно вызываю void EAN13::draw(const QRectF &rect, QPainter &painter) из указанного примера.
Как я понял, что код вставляется прямо в окно.

Так вот вопрос: Как изменить функцию, чтобы она подавала на печать код, и только!?
Записан
carrygun
Гость
« Ответ #5 : Июль 16, 2014, 04:33 »

Зачем изменять функцию? У нее же есть входной параметр рисовалки.
Надо как-то так:
Код
C++ (Qt)
QPrinter printer;
...
QPainter painter(&printer);
...
code.draw(QRectF(50, 50, 400, 200), &painter);
 
Записан
Vladimir_Klyuev
Гость
« Ответ #6 : Июль 16, 2014, 07:13 »

Отлично!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.081 секунд. Запросов: 23.