Welcome, Guest. Please login or register.
Did you miss your activation email?

Author Topic: Вопросы новичка  (Read 97571 times)

ldir

  • Jr. Member
  • **
  • Posts: 72
    • View Profile
Re: Вопросы новичка
« Reply #195 on: February 18, 2019, 10:05:45 PM »
Да, все остальное работает. И цвет серенький)

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 992
    • View Profile
Re: Вопросы новичка
« Reply #196 on: February 18, 2019, 10:12:45 PM »
Так значит будем смотреть что с функциями :)
Первое, что смущает это то, что
QScriptValue jsFuncs = report->scriptManager()->scriptEngine()->newQObject(functions);
при сборке не ругается :) У нового движка вместо QScriptValue QJSValue

« Last Edit: February 18, 2019, 10:21:10 PM by Arin Alex »

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 992
    • View Profile
Re: Вопросы новичка
« Reply #197 on: February 18, 2019, 10:27:09 PM »
ldir
Пофиксил сборку под разные движки

« Last Edit: February 19, 2019, 02:37:00 AM by Arin Alex »

ldir

  • Jr. Member
  • **
  • Posts: 72
    • View Profile
Re: Вопросы новичка
« Reply #198 on: February 19, 2019, 11:32:59 AM »
Arin Alex
Спасибо! Только теперь не компилируется.

Code: [Select]
D:\QtProjects\LimeReport-develop\limereport\lrscriptenginemanager.cpp:1616: ошибка: 'class LimeReport::DataSourceManager' has no member named 'fieldDataByRowIndex'
     return dm->fieldDataByRowIndex(fieldName, rowIndex);
                ^

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 992
    • View Profile
Re: Вопросы новичка
« Reply #199 on: February 19, 2019, 11:34:58 AM »
Да, я уже заметил :) Вчера забыл пушнуть финальные изменения. Сейчас должно компилироваться.
« Last Edit: February 19, 2019, 11:42:11 AM by Arin Alex »

ldir

  • Jr. Member
  • **
  • Posts: 72
    • View Profile
Re: Вопросы новичка
« Reply #200 on: February 19, 2019, 11:42:38 AM »
Пока не забыл. А как количество копий при печати задавать?

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 992
    • View Profile
Re: Вопросы новичка
« Reply #201 on: February 19, 2019, 11:58:51 AM »
ldir
В диалоге выбора принтера указывается

ldir

  • Jr. Member
  • **
  • Posts: 72
    • View Profile
Re: Вопросы новичка
« Reply #202 on: February 19, 2019, 01:34:37 PM »
Решил ради научного интереса попробовать собрать с CONFIG+=qtscriptengine (я его в limereport.pro добавил, правильно?). Лайм собрался, а вот моя программа нет. Ругается на отсутствие <QQmlEngine> в lrscriptenginemanagerintf.h :(

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 992
    • View Profile
Re: Вопросы новичка
« Reply #203 on: February 19, 2019, 01:54:05 PM »
У себя в приложении в pro файл добавьте DEFINES += USE_QTSCRIPTENGINE
« Last Edit: February 19, 2019, 02:17:32 PM by Arin Alex »

ldir

  • Jr. Member
  • **
  • Posts: 72
    • View Profile
Re: Вопросы новичка
« Reply #204 on: February 19, 2019, 02:18:11 PM »
У себя в приложении в pro файл добавьте DEFINED += USE_QTSCRIPTENGINE
Понял.

А на счет
Quote
В диалоге выбора принтера указывается
не совсем. Вы имеете ввиду каждый раз при печати вручную указывать?

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 992
    • View Profile
Re: Вопросы новичка
« Reply #205 on: February 19, 2019, 02:35:23 PM »
ldir
Если принтер не был передан в limereport, то в диалоге выбора принтера можно руками указать.
Если передаете принтер, то у него printer.setCopyCount()

ldir

  • Jr. Member
  • **
  • Posts: 72
    • View Profile
Re: Вопросы новичка
« Reply #206 on: February 19, 2019, 03:00:59 PM »
Что-то уже стыдно, но я уже запутался
Решил ради научного интереса попробовать собрать с CONFIG+=qtscriptengine (я его в limereport.pro добавил, правильно?). Лайм собрался, а вот моя программа нет. Ругается на отсутствие <QQmlEngine> в lrscriptenginemanagerintf.h :(

У себя в приложении в pro файл добавьте DEFINES += USE_QTSCRIPTENGINE
Добавил, скомпилировалось и .... получил вылет на старой доброй addFunction.
Да, в сообщениях лайма есть qjsengine, а qtscriptengine нету.

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 992
    • View Profile
Re: Вопросы новичка
« Reply #207 on: February 19, 2019, 03:10:32 PM »
ldir
CONFIG+=qtscriptengine нужно добавить в параметры qmake.
Если собираете QtCreator'ром то это Projects -> Build Steps -> qmake -> Additional arguments

ldir

  • Jr. Member
  • **
  • Posts: 72
    • View Profile
Re: Вопросы новичка
« Reply #208 on: February 19, 2019, 03:56:46 PM »
ldir
CONFIG+=qtscriptengine нужно добавить в параметры qmake.
Если собираете QtCreator'ром то это Projects -> Build Steps -> qmake -> Additional arguments
Чет туплю. Спасибо.
Правда я его в common.pri сунул и все заработало.

ldir

  • Jr. Member
  • **
  • Posts: 72
    • View Profile
Re: Вопросы новичка
« Reply #209 on: February 20, 2019, 09:21:18 AM »
Если принтер не был передан в limereport, то в диалоге выбора принтера можно руками указать.
Если передаете принтер, то у него printer.setCopyCount()

А где его можно передать? Передачу принтера я нашел только в этих методах:
Code: [Select]
   
bool    printReport(QPrinter *printer=0);
bool    printReport(QMap<QString, QPrinter*> printers, bool printToAllPrinters = false);
bool    printPages(ReportPages pages, QPrinter *printer);

Так это уже сама печать. Превьюхе его передать нельзя, а мне бы хотелось показать документы и оттуда уже печатать. Или такой возможности нет?