qt将tableview的第三行第四列打印出来
时间: 2023-09-20 07:06:00 浏览: 38
您可以使用QPrinter和QPainter来实现在Qt中打印一个TableView的第三行第四列,以下是一个简单的示例代码:
```cpp
void MainWindow::printTable()
{
QPrinter printer(QPrinter::HighResolution);
printer.setPageSize(QPrinter::A4);
printer.setOrientation(QPrinter::Portrait);
printer.setOutputFormat(QPrinter::PdfFormat);
printer.setOutputFileName("table.pdf");
QPainter painter;
if (!painter.begin(&printer)) {
qWarning("Failed to open file");
return;
}
QTableView *tableView = ui->tableView; // your table view
QAbstractItemModel *model = tableView->model();
QModelIndex index = model->index(2, 3); // get the index of the third row and fourth column
QString text = index.data().toString(); // get the text to be printed
int x = 0;
int y = 0;
int w = 100; // width of the printed column
int h = 20; // height of each row
QFont font("Arial", 10, QFont::Bold);
painter.setFont(font);
painter.drawText(x, y, w, h, Qt::AlignLeft | Qt::AlignVCenter, text); // draw the text
painter.end();
}
```
这个函数会将TableView的第三行第四列打印到PDF文件中,您可以根据需要进行修改。