Privacy policyContactsAbout siteOpinionsGitHubDonate
© EVILEG 2015-2018
Recommend hosting
TIMEWEB
Jan. 2, 2019, 12:06 p.m.

Как QSqlTableModel перевести в QString или распечатать

qt, QSqlTableModel, QString

Здравствуйте. Как QSqlTableModel перевести в QString или распечатать?

10% refund of hotel reservation amount on Booking
10% refund of hotel reservation amount on Booking
We offer a link with a 10% return on the amount of the order when booking a hotel through Booking
1

Модель на печать не выводил а вот содержимое QTavleView выводил так.

void MainWindow::slotPrintTavleView(QTableView *tblView)
{
    // make a html-dump of table view
    QString printStr;
        if (tblView) {

            QTextStream out(&printStr);

            const int rowCount = tblView->model()->rowCount();
            const int columnCount = tblView->model()->columnCount();

            out <<  "<html>\n"
                    "<head>\n"
                    "<meta Content=\"Text/html; charset=utf-8\">\n"
                <<  QString("<title>%1</title>\n").arg("refTitleName")
                <<  "</head>\n"
                    "<body bgcolor=#ffffff link=#5000A0>\n"
                    "<table border=1 cellspacing=0 cellpadding=2>\n";

            // headers
            out << "<tr bgcolor=#f0f0f0>";
            for (int column = 0; column < columnCount; column++)
                if (!tblView->isColumnHidden(column))
                    out << QString("<th>%1</th>").arg(tblView->model()->headerData(column, Qt::Horizontal).toString());
            out << "</tr>\n";
            for (int row = 0; row < rowCount; row++) {
                out << "<tr>";
                for (int column = 0; column < columnCount; column++) {
                    if (!tblView->isColumnHidden(column)) {
                        QString data = tblView->model()->data(tblView->model()->index(row, column)).toString().simplified();

                        out << QString("<td bkcolor=0>%1</td>").arg((!data.isEmpty()) ? data : QString("&nbsp;"));
                    }
                }
                out << "</tr>\n";
            }
            out <<  "</table>\n"
                "</body>\n"
                "</html>\n";
        }
        document = new QTextDocument();

        document->setHtml(printStr);




            QPrintPreviewDialog  *prDialog = new QPrintPreviewDialog(&printer, this);
            connect(prDialog,SIGNAL(paintRequested(QPrinter*)),this,SLOT(printPreviewNeeds(QPrinter*)));

        prDialog->showMaximized();
        prDialog->exec();
}

void MainWindow::printPreviewNeeds(QPrinter *)
{
    document->print(&printer);
//    delete document;
}
1

Comments

Only authorized users can post comments.
Please, Log in or Sign up
Last comments
March 19, 2019, 12:57 p.m.
AlexanderBardin

Добрый день. А проверить работоспособность локально как-то можно не указывая реальнй сайт (еще в разработке)
March 16, 2019, 1:55 p.m.
Дмитрий

Спасибо за статью. Давно итересует следующий вопрос: с помощью переменных QMAKE_TARGET_COMPANYQMAKE_TARGET_PRODUCTQMAKE_TARGET_DESCRIPTIONможно задать свойства компилируемой программы, о...
JS
March 12, 2019, 10:19 a.m.
Jean Stefanovich

Большое спасибо за разъяснения!
March 12, 2019, 10:04 a.m.
Евгений Легоцкой

Hello, In fact, this functionality or is not implemented, or is not documented. I'm not sure. But I think, that it should be implemented in Text QML Type. Because of we can write text in...
March 12, 2019, 9:51 a.m.
Евгений Легоцкой

Да вы правы. На самом деле проще через QSqlQueryModel, сколько не пытался использовать эти дженерики типо QSqlTableModel и QSqlRelationalTableModel, то всегда упирался в какие-то их ограничени...
Now discuss on the forum
March 19, 2019, 1:43 p.m.
AlexanderBardin

Очень интересная тема. У вас случайно нет статьи с полным циклом интреграции нескольких языков?Так сказать с нуля, что нужно, какие пакеты ставить, что куда писать. Тут вроде информации не ма...
March 17, 2019, 10:47 p.m.
Евгений Легоцкой

Добрый день. Вот, нашлось у меня немного времени. Делается это через шаблон проектирования наблюдатель. GraphKS_mfvSlup.zip
ЧГ
March 15, 2019, 9:52 p.m.
Чарльз Грин

спасибо, попробую, отпишусь
m
March 15, 2019, 7:41 p.m.
mihamuz

Сори догадался)
n
March 12, 2019, 4:57 p.m.
newbie.works.with.QT

Большооооое спасибо!!!!!Не передать как я вам благодарен, спасибо что всегда отзываетесь.Теперь я смогу продолжить работу в QT!!! (пробую писать бота (Я как вы могли догадаться немного не пр...
Join us in social networks

For registered users on the site there is a minimum amount of advertising