QMenu menu(this); QAction * addAct = new QAction(tr("Добавить ячейку"), ui->tableWidget); menu.addAction(addAct); menu.exec(ui->tableWidget->viewport()->mapToGlobal(pos));
ui->tableWidget->item(j,i)->text()
ui->tableWidget->item(j,i)->text().isEmpty()
ui->tableWidget->insertRow(6)
void setItem(int row, int column, QTableWidgetItem *item);
ui->tableWidget->item(j,i)
QString exportname = QFileDialog::getSaveFileName(this, "dialogcaption", "C:\\", "*.pdf"); if (exportname.isEmpty()) return; // if (printdialog.exec() == QDialog::Accepted) { QString html = ""; QTextDocument *doc = new QTextDocument(); html += "<html><body><table border=1 bordercolor=red cellpadding=1 >"; // html += "<tr>";// for (int i = 0; i < headers.size(); i++) {// if (!ui->tableWidget->isColumnHidden(i)) {// html += "<td>";// html += headers.at(i);// html += "</td>";// }// } //html += "</tr>"; ui->tableWidget->resizeColumnsToContents(); ui->tableWidget->resizeRowsToContents(); if (ui->tableWidget->rowCount() >0 && ui->tableWidget->columnCount() >0) for (int j = 1; j < ui->tableWidget->rowCount(); j++) { if (!ui->tableWidget->isRowHidden(j)) { html += "<tr>"; for (int i = 1; i < ui->tableWidget->columnCount(); i++) { if (!ui->tableWidget->isColumnHidden(i)) { html += "<td>"; QMessageBox::information(0,"",QString::number(j)+ " "+ QString::number(i));//Вот тут сразу ошибка! if (ui->tableWidget->item(j,i)!= NULL);//Это я просто для примера эту строку написал.//Ошибка проявляется даже просто когда QT Creator создает автоматически ячейки html += ui->tableWidget->item(j,i)->text(); html += "</td>"; } } } html += "</tr>"; } html += "</table></body></html>"; doc->setHtml(html); QPrinter printer; printer.setOutputFormat(QPrinter::PdfFormat); printer.setOutputFileName(exportname); printer.setFullPage(true); printer.setOrientation(QPrinter::Landscape); printer.setPaperSize(QPrinter::A4); doc->print(&printer); delete doc; // }}