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

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

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 992
    • View Profile
Re: Вопросы новичка
« Reply #330 on: April 23, 2020, 09:06:13 PM »
ploop, Пофиксил (1.5.50). Можете проверять. 

ploop

  • Newbie
  • *
  • Posts: 6
    • View Profile
Re: Вопросы новичка
« Reply #331 on: April 23, 2020, 10:33:44 PM »
Ничего себе, как оперативно! Спасибо!

ploop

  • Newbie
  • *
  • Posts: 6
    • View Profile
Re: Вопросы новичка
« Reply #332 on: June 01, 2020, 10:06:23 AM »
Пожалуй ещё спрошу: У ReportEngine есть метод printToPDF(fileName), который сохраняет результат в файл. А есть возможность сформировать PDF в QByteArray? На данный момент перебрасываю через файл, что не есть хорошо.

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 992
    • View Profile
Re: Вопросы новичка
« Reply #333 on: June 10, 2020, 01:51:30 PM »
ploop, К сожалению, на данный момент так :) Подумаю, что можно с этим сделать :).

zzmiyy

  • Newbie
  • *
  • Posts: 21
    • View Profile
Re: Вопросы новичка
« Reply #334 on: November 25, 2020, 01:58:44 PM »
Привет
Только начал изучение LR.
Какие есть способы добавить изображение из кода(QPixmap\QImage)?
Пробовал засунуть QPixmap в таблицу, не работает :((в отчете не показывается, в таблице есть)
Code: [Select]
    QTableWidgetItem * img = new QTableWidgetItem;
    QPixmap pix = QPixmap(100,100);
    pix.fill(Qt::red);
    img->setData(Qt::DecorationRole, pix);
    ui->tableWidget->setItem(2,2, img);
    engine.dataManager()->addModel("tablewidget",ui->tableWidget->model(),false);

Subst

  • Sr. Member
  • ****
  • Posts: 442
    • View Profile
Re: Вопросы новичка
« Reply #335 on: November 25, 2020, 06:28:44 PM »
В отчете то какой элемент принимает картинку?
Есть Элемент изображение

zzmiyy

  • Newbie
  • *
  • Posts: 21
    • View Profile
Re: Вопросы новичка
« Reply #336 on: November 25, 2020, 07:38:20 PM »
В отчете то какой элемент принимает картинку?
Есть Элемент изображение
Есть. Но что в него передать не могу понять  :)
Пробовал подцепить модель куда вставлена картинка и привязать к ImageItem - не хочет.
Вопрос такой: как можно вставить изображение НЕ из БД и НЕ с помощью прямого указания пути. По форуму искал, не нашел. В примерах как я понял все из БД, или косо смотрел...

Subst

  • Sr. Member
  • ****
  • Posts: 442
    • View Profile
Re: Вопросы новичка
« Reply #337 on: November 25, 2020, 07:53:02 PM »
Варианты:

Дважды кликни на элементе этом, расположенным на странице. Дальше довольно очевидно.
Или откуда необходимо вставить картинку? Поясни..

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 992
    • View Profile
Re: Вопросы новичка
« Reply #338 on: November 25, 2020, 08:33:18 PM »
zzmiyy, Приветствую! Можно глянуть demo_r1 там oneslotds картинку передает.

zzmiyy

  • Newbie
  • *
  • Posts: 21
    • View Profile
Re: Вопросы новичка
« Reply #339 on: November 25, 2020, 10:48:46 PM »
zzmiyy, Приветствую! Можно глянуть demo_r1 там oneslotds картинку передает.
Отлично, примерно то что нужно. Буду копать. А кроме как колбеком из кода никак? Что еще почитать можно, чтобы понять как мне простейший отчет ( картинка + подпись)*n сделать? Подписи я так  понял я могу закинуть все в модель одну и сразу все вывести. Или я не верно мыслю?

Варианты:

Дважды кликни на элементе этом, расположенным на странице. Дальше довольно очевидно.
Или откуда необходимо вставить картинку? Поясни..
Открывается окошко где меня просят указать путь к картинке. А у меня картинка сгенерирована и хранится в QImage. я могу ее конечно сохранить как файл, но очень не хотелось бы.
« Last Edit: November 25, 2020, 10:50:27 PM by zzmiyy »

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 992
    • View Profile
Re: Вопросы новичка
« Reply #340 on: November 25, 2020, 11:03:20 PM »
zzmiyy, Ну можно еще свою модель написать, но через калбек то проще, мне кажется :)
Quote
Что еще почитать можно, чтобы понять как мне простейший отчет  (картинка + подпись)*n сделать?
Ну из доков только https://github.com/fralx/LimeReport/blob/master/docs/UserManualRu.pdf

P.S.
Code: [Select]
    QStandardItemModel* testModel = new QStandardItemModel(3,1);
    for (int i = 0; i<3; ++i){
        QStandardItem* img_item = new QStandardItem("");
        img_item->setData( QImage(":/report//images/logo32"), Qt::DisplayRole);
        testModel->setItem(i, 0, img_item);
        testModel->setItem(i, 1, new QStandardItem(QString("img_item_%1").arg(i)));
    }
    report->dataManager()->addModel("Test_Model", testModel, true);
Вот такое еще можно сколхозить
« Last Edit: November 25, 2020, 11:37:47 PM by Arin Alex »

zzmiyy

  • Newbie
  • *
  • Posts: 21
    • View Profile
Re: Вопросы новичка
« Reply #341 on: November 26, 2020, 04:07:54 AM »
Спасибо, то что нужно! Мануал посмотрел, но там заполнение из бд, что мне не подходит.
Пытаюсь заполнить данными из модели и столкнулся с абсолютным непониманием работы.
Code: [Select]
QStandardItemModel* tst = new QStandardItemModel(10,2); //тестовая модель
    for(int i=0; i< tst->rowCount();i++){
        tst->setItem(i,0,new QStandardItem(QString("%1").arg(i)));  //заполняем
        tst->setItem(i,1,new QStandardItem(QString("%1").arg(i*i)));
    }
    ui->tableView->setModel(tst);   //добавил в tableView для проверки
    engine.dataManager()->addModel("tst", tst,false); //добавляем модель напрямую
    engine.dataManager()->addModel("tst1", ui->tableView->model(),false); //добавляем модель, вытащенную из вьюхи. По логике должно быть одно и тоже?
Иии... нет. Что я делаю не так?) Скрины вывода и шаблона прикрепил.

UPD: Самое смешное:
Code: [Select]
engine.dataManager()->addModel("tst", view->model(),false); //эта строчка выводит ток нули
engine.dataManager()->addModel("tst1", view->model(),false); //а эта строчка работает...
Code: [Select]
    engine.dataManager()->addModel("tst", tst,true); //не работает
    engine.dataManager()->addModel("tst1", tst,true);//работает
Если поменять местами - ничего не меняется...
Работает только с названием tst1...
« Last Edit: November 26, 2020, 04:22:59 AM by zzmiyy »

Subst

  • Sr. Member
  • ****
  • Posts: 442
    • View Profile
Re: Вопросы новичка
« Reply #342 on: November 26, 2020, 06:46:17 AM »

Открывается окошко где меня просят указать путь к картинке. А у меня картинка сгенерирована и хранится в QImage. я могу ее конечно сохранить как файл, но очень не хотелось бы.
[/quote]

Как раз с Алексом обсуждали. Передай в переменную отчета картинку.
Как то так:

QIMage image=...;
QVariant variant=image;

report->setReportVariable(variable,variant);

zzmiyy

  • Newbie
  • *
  • Posts: 21
    • View Profile
Re: Вопросы новичка
« Reply #343 on: November 26, 2020, 08:13:34 AM »

Как раз с Алексом обсуждали. Передай в переменную отчета картинку.
Как то так:

QIMage image=...;
QVariant variant=image;

report->setReportVariable(variable,variant);
Спасибо, так тоже получилось.

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 992
    • View Profile
Re: Вопросы новичка
« Reply #344 on: November 26, 2020, 04:34:27 PM »
zzmiyy,
Quote
Работает только с названием tst1...
Вы положили на один DataBand два источника данных, DataBand может управлять перемещением по записям только одного источника, указанного в свойстве "datasource" у DataBand. Таким образом, вы перемещаетесть по tst1 и там значения меняются, а tst стоит на первой записи где все значения равны 0.