打印在tableView中显示的db文件

时间:2016-04-02 16:26:43

标签: qt qt5

是否可以添加print选项以在Qt的tableView中打印db内容?

即,我在tableView中显示了test.db。我想添加一个打印数据库的选项。可能吗?

2 个答案:

答案 0 :(得分:0)

如果您的意思是使用打印机打印,可以像这样基本完成:

int width = 0;
int height = 0;

tableView->resizeColumnsToContents();

const int columnCnt = tableView->model()->columnCount();
for( int i = 0; i < columnCnt; ++i ) 
{
    width += pTableView->columnWidth(i);
}

const int rowCnt = tableView->model()->rowCount();
for( int i = 0; i < rowCnt; ++i )
{
    height += tableView->rowHeight(i);
}

tableView->setFixedSize(width, height);

QPrinter printer;

// ... printer settings ...

tableView->render(&printer);

您可以在此处找到有关此主题的更多信息:
http://blog.qt.io/blog/2012/08/24/qt-commercial-support-weekly-25-printing-large-tables-2/

答案 1 :(得分:0)

我使用了以下链接中的代码 http://www.qtcentre.org/archive/index.php/t-64182.html

但是当我使用QPushButton调用该函数时,应用程序会冻结并关闭。

代码中的错误是什么?