initTable();
//上移
connect(ui.pushButton, &QPushButton::clicked, this,[=]() {
//步骤1
int rowi = ui.tableWidget->currentRow();
qDebug() << rowi;
if (rowi == 0)
{
QMessageBox::information(this, "提示", "已经是第一行,无法继续上移");
}
else
{
ui.tableWidget->insertRow(rowi - 1); //rowi为选中行的索引
//步骤2
for (int i = 0; i < ui.tableWidget->columnCount(); ++i)
{
QTableWidgetItem* a = new QTableWidgetItem(ui.tableWidget->item(rowi + 1, i)->text());
a->setTextAlignment(Qt::AlignCenter);
ui.tableWidget->setItem(rowi - 1, i,a );
}
//步骤3
ui.tableWidget->removeRow(rowi + 1);
//步骤4
ui.tableWidget->selectRow(rowi - 1);
}
});
//下移
connect(ui.pushButton_2, &QPushButton::clicked, this, [=]() {
//步骤1
int rowi = ui.tableWidget->currentRow();
if (rowi == 3)
{
QMessageBox::information(this, "提示", "已经是最后一行,无法继续下移");
}
else
{
ui.tableWidget->insertRow(rowi + 2); //rowi为选中行的索引
//步骤2
for (int i = 0; i < ui.tableWidget->columnCount(); ++i)
{
QTableWidgetItem* b = new QTableWidgetItem(ui.tableWidget->item(rowi, i)->text());
b->setTextAlignment(Qt::AlignCenter);
ui.tableWidget->setItem(rowi + 2, i,b );
}
//步骤3
ui.tableWidget->removeRow(rowi);
//步骤4
ui.tableWidget->selectRow(rowi + 1);
}
});
//加载参数
connect(ui.pushButton_3, &QPushButton::clicked, this, [=]() {
QSqlDatabase db;
db = QSqlDatabase::addDatabase("QSQLITE", "test");
db.setDatabaseName("test.db");
QString path = QCoreApplication::applicationDirPath();
qDebug() << path;
if (db.open())
{
qDebug() << "数据库连接成功";
QSqlQuery query(db);
for (int i = 0; i < ui.tableWidget->rowCount(); i++)
{
QString str = QString("update StyleSort set StyleName = '%1'where id = '%2'").arg(ui.tableWidget->item(i, 0)->text()).arg(i);
query.exec(str);
qDebug() << str;
if (!query.exec())
{
qDebug() << query.lastError();
}
}
}
else
{
qDebug() << "数据库连接失败";
}
});
初始化表格
void QtWidgetsSort::initTable()
{
ui.tableWidget->setColumnCount(1);
ui.tableWidget->setRowCount(4);
QStringList head;
head << "名称";
ui.tableWidget->setHorizontalHeaderLabels(head);
ui.tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
ui.tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
ui.tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
QTableWidgetItem* a = new QTableWidgetItem("春眠不觉晓");
QTableWidgetItem* b = new QTableWidgetItem("处处闻啼鸟");
QTableWidgetItem* c = new QTableWidgetItem("夜来风雨声");
QTableWidgetItem* d = new QTableWidgetItem("花落知多少");
a->setTextAlignment(Qt::AlignCenter);
b->setTextAlignment(Qt::AlignCenter);
c->setTextAlignment(Qt::AlignCenter);
d->setTextAlignment(Qt::AlignCenter);
ui.tableWidget->setItem(0, 0, a);
ui.tableWidget->setItem(1, 0, b);
ui.tableWidget->setItem(2, 0, c);
ui.tableWidget->setItem(3, 0, d);
}