Ver Fonte

V0.9.3
1、修复了删除模版不会刷新的问题

Apple há 1 mês atrás
pai
commit
4d41041a1d
1 ficheiros alterados com 11 adições e 9 exclusões
  1. 11 9
      TransmitterSwitch/Template/importtemplate.cpp

+ 11 - 9
TransmitterSwitch/Template/importtemplate.cpp

@@ -87,7 +87,7 @@ ImportTemplate::ImportTemplate(QStringList& tabList,QWidget *parent) :
     ui->tableWidget->setRowCount(tabList.count());
     for(int i = 0;i < tabList.count();i++)
     {
-        createRow(i,i + 1,tabList.at(i));
+        createRow(i, i + 1, tabList.at(i));
     }
 
     /* 注册事件过滤器 */
@@ -120,26 +120,30 @@ void ImportTemplate::do_seletctRow(int row, int col)
     if(col == 2)
     {
         /* 弹出框提示确定要删除 */
-        Warning w(this);
-        w.setQSS(EPConfig.getQSSPath());
-        w.setText("是否删除模板?");
+        std::shared_ptr<Warning> w = std::make_shared<Warning>(this);
+        w->setQSS(EPConfig.getQSSPath());
+        w->setText("是否删除模板?");
         bool flag = false;
-        connect(&w,&Warning::signal_ok,this,[&](){
+        connect(w.get(), &Warning::signal_ok,this,[&](){
             flag = true;
         });
 
-        w.exec();
+        w->exec();
         if(!flag)
         {
             return;
         }
         emit signal_deleteTemplate(ui->tableWidget->item(row,1)->text());
+        /* 删除一行 */
         ui->tableWidget->removeRow(row);
+        // LH_WRITE_LOG_DEBUG(QString("剩余模版个数:%1").arg(ui->tableWidget->rowCount()));
         /* 对模版重新编号 */
         for(int i = 0 ;i < ui->tableWidget->rowCount();i++)
         {
-            ui->tableWidget->item(i,0)->setData(Qt::DisplayRole,i+1);
+            ui->tableWidget->item(i,0)->setData(Qt::DisplayRole, i+1);
         }
+        /* 强制重新绘制表格 */
+        ui->tableWidget->repaint();
     }else
     {
         m_templateName = ui->tableWidget->item(row,1)->text();
@@ -154,11 +158,9 @@ void ImportTemplate::createRow(int row,int num,const QString &text)
 
     QTableWidgetItem* item = new QTableWidgetItem;
     item->setData(Qt::DisplayRole,num);
-    // item->setTextAlignment(Qt::AlignVCenter);
     ui->tableWidget->setItem(row,0,item);
 
     item = new QTableWidgetItem(text);
-    // item->setTextAlignment(Qt::AlignVCenter | Qt::AlignLeft);
     ui->tableWidget->setItem(row,1,item);
 
     item = new QTableWidgetItem("删除");