Advertisement
Guest User

Untitled

a guest
Jan 13th, 2021
29
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.09 KB | None | 0 0
  1. void MainWindow::on_pushButton_clicked()
  2. {
  3. QString fn = QFileDialog::getOpenFileName(this, tr("Open"));
  4. QFile file(fn);
  5. QStringList listA;
  6. int row = 0;
  7.  
  8.  
  9. if (file.open(QIODevice::ReadOnly)){
  10. while (!file.atEnd()){
  11. QString line = file.readLine();
  12.  
  13. listA << line.split(";");
  14. if (listA.contains("\r\n")) {
  15.  
  16. listA.removeAll("\r\n");
  17. }
  18. ui->tableWidget->setColumnCount(listA.size()+1);
  19. ui->tableWidget->insertRow(row);
  20.  
  21. for (int x = 0; x < listA.size(); x++){
  22. QTableWidgetItem *test = new QTableWidgetItem(listA.at(x));
  23. QWidget *checkBoxWidget = new QWidget();
  24. QCheckBox *checkBox = new QCheckBox(); // объявляем и инициализируем чекбокс
  25. QHBoxLayout *layoutCheckBox = new QHBoxLayout(checkBoxWidget); // создаём слой с привязкой к виджету
  26. layoutCheckBox->addWidget(checkBox); // Устанавливаем чекбокс в слой
  27. layoutCheckBox->setAlignment(Qt::AlignCenter); // Отцентровываем чекбокс
  28. layoutCheckBox->setContentsMargins(0,0,0,0); // Устанавливаем нулевые отступы
  29. ui->tableWidget->setCellWidget(row, 0, checkBoxWidget);
  30. ui->tableWidget->setItem(row, x+1, test);
  31. }
  32. row++;
  33. listA.clear();
  34. }
  35. }
  36. file.close();
  37. QStringList headers;
  38. headers << "STATE" << "NAME" << "DAYS" << "VALUE";
  39. ui->tableWidget->setHorizontalHeaderLabels(headers);
  40. ui->tableWidget->hideRow(0);
  41.  
  42. }
  43.  
  44. void MainWindow::on_pushButton_2_clicked()
  45. {
  46. for (int i = 0; i < ui->tableWidget->rowCount(); i++){
  47.  
  48. QWidget *item = ui->tableWidget->cellWidget(i, 0);
  49. QCheckBox *checkBox = qobject_cast<QCheckBox*>(item->layout()->itemAt(0)->widget());
  50. if (checkBox->isChecked())
  51. {
  52. int rowCount = ui->tableWidget_2->rowCount();
  53. ui->tableWidget_2->insertRow(rowCount);
  54.  
  55. QWidget *checkBoxWidget = new QWidget();
  56. QCheckBox *checkBox = new QCheckBox();
  57. QHBoxLayout *layoutCheckBox = new QHBoxLayout(checkBoxWidget);
  58. layoutCheckBox->addWidget(checkBox);
  59. layoutCheckBox->setAlignment(Qt::AlignCenter);
  60. layoutCheckBox->setContentsMargins(0,0,0,0);
  61. checkBox->setChecked(true);
  62.  
  63. ui->tableWidget_2->setCellWidget(rowCount, 0, checkBoxWidget);
  64. ui->tableWidget_2->setItem(rowCount, 1, new QTableWidgetItem(ui->tableWidget->item(i, 2)->text()));
  65. ui->tableWidget_2->setItem(rowCount, 2, new QTableWidgetItem(ui->tableWidget->item(i, 3)->text()));
  66. ui->tableWidget_2->setItem(rowCount, 3, new QTableWidgetItem(ui->tableWidget->item(i, 4)->text()));
  67. }
  68. }
  69.  
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement