#include "problemcount.h" #include "ui_problemcount.h" #include <QDebug> #include <QFileDialog> #include <QPushButton> #include <QSqlQuery> extern int g_comId; ProblemCount::ProblemCount(QWidget *parent) : QMainWindow(parent), ui(new Ui::ProblemCount) { ui->setupUi(this); ui->tableWidget->setColumnWidth(0,300); m_comId = g_comId; for(int i=0;i<ui->tableWidget->rowCount();++i){ QPushButton *btn = new QPushButton("ä¸Šä¼ ",this); ui->tableWidget->setCellWidget(i,3,btn); connect(btn,&QPushButton::clicked,this,[=]{ QStringList files = QFileDialog::getOpenFileNames(); QString str; for(auto f:files){ str += f + " "; } ui->tableWidget->setItem(i,4,new QTableWidgetItem(str)); }); } } ProblemCount::~ProblemCount() { delete ui; } void ProblemCount::on_tableWidget_clicked(const QModelIndex &index) { qDebug()<<"index"<<index; int noMonCnt = 0; for(int i=3;i<=6;++i){ noMonCnt += ui->tableWidget->item(i,2)->text().toInt(); } ui->tableWidget->setItem(2,2,new QTableWidgetItem(QString::number(noMonCnt))); int allCnt = ui->tableWidget->item(1,2)->text().toInt()+ui->tableWidget->item(2,2)->text().toInt(); ui->tableWidget->setItem(0,2,new QTableWidgetItem(QString::number(allCnt))); } void ProblemCount::on_tableWidget_activated(const QModelIndex &index) { qDebug()<<"activated index"<<index; int noMonCnt = 0; for(int i=3;i<=6;++i){ noMonCnt += ui->tableWidget->item(i,2)->text().toInt(); } ui->tableWidget->setItem(2,2,new QTableWidgetItem(QString::number(noMonCnt))); int allCnt = ui->tableWidget->item(1,2)->text().toInt()+ui->tableWidget->item(2,2)->text().toInt(); ui->tableWidget->setItem(0,2,new QTableWidgetItem(QString::number(allCnt))); } void ProblemCount::on_pushButton_clicked() { // å†ç»Ÿè®¡ä¸€æŠŠ on_tableWidget_activated(QModelIndex()); QString values = ""; for(int i=0;i<ui->tableWidget->rowCount();++i){ values += QString("('%1','%2',%3,'%4',%5),").arg(ui->tableWidget->item(i,0)->text()) .arg(ui->tableWidget->item(i,1)->text()).arg(ui->tableWidget->item(i,2)->text().toInt()) .arg(ui->tableWidget->item(i,4)->text()) .arg(g_comId); } values = values.left(values.length()-1); QString sql = QString("insert into problem_count (kpi_name,code,num,evidences,com_id) values %1").arg(values); qDebug()<<sql; QSqlQuery query; if(query.exec(sql)){ qDebug()<<"OK sql"<<__FUNCTION__; }else{ qDebug()<<"fail sql"<<__FUNCTION__; } }