Advertisement
Guest User

Untitled

a guest
Nov 9th, 2017
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include "dialog.h"
  2. #include "ui_dialog.h"
  3. #include <QHBoxLayout>
  4. #include <QPushButton>
  5. #include <QCompleter>
  6. Dialog::Dialog(QWidget *parent) :
  7.     QDialog(parent),
  8.     ui(new Ui::Dialog)
  9. {
  10.     ui->setupUi(this);
  11.     ui->tableWidget->setColumnWidth(0, 120);
  12.     ui->tableWidget->setColumnWidth(1, 120);
  13.     ui->tableWidget->setColumnWidth(2, 160);
  14.     QStringList L;
  15.     L<<"jOHN"<<"sAM"<<"Smith"<<"Arr"<<"ABB"<<"C";
  16.     QCompleter *StringCompleter = new QCompleter(L,this);
  17.     StringCompleter->setCaseSensitivity(Qt::CaseInsensitive);
  18.     ui->tableWidget->insertRow(ui->tableWidget->rowCount());
  19.     for(int i = 0; i<ui->tableWidget->columnCount(); i++)
  20.     {
  21.         if(i==0)
  22.         {
  23.             QWidget* pWidget = new QWidget(this);
  24.             QPushButton* btn_edit = new QPushButton();
  25.             btn_edit->setText("Edit");
  26.             connect(btn_edit, &QPushButton::clicked, this, &Dialog::onClicked);
  27.             QHBoxLayout* pLayout = new QHBoxLayout(pWidget);
  28.             pLayout->addWidget(btn_edit);
  29.             pLayout->setAlignment(Qt::AlignCenter);
  30.             pLayout->setContentsMargins(0, 0, 0, 0);
  31.             pWidget->setLayout(pLayout);
  32.             ui->tableWidget->setCellWidget(ui->tableWidget->rowCount()-1, i, pWidget);
  33.             continue;
  34.         }
  35.         if(i == 1)
  36.         {
  37.             QWidget* pWidget = new QWidget(this);
  38.             QPushButton* btn_edit = new QPushButton();
  39.             btn_edit->setText("Add");
  40.             connect(btn_edit, &QPushButton::clicked, this, &Dialog::Add);
  41.             QHBoxLayout* pLayout = new QHBoxLayout(pWidget);
  42.             pLayout->addWidget(btn_edit);
  43.             pLayout->setAlignment(Qt::AlignCenter);
  44.             pLayout->setContentsMargins(0, 0, 0, 0);
  45.             pWidget->setLayout(pLayout);
  46.             ui->tableWidget->setCellWidget(ui->tableWidget->rowCount()-1, i, pWidget);
  47.             continue;
  48.         }
  49.         if(i==2)// I CREATE LINEEDIT IN TABLEWIDGET HERE
  50.         {
  51.           QWidget* pWidget = new QWidget(this);
  52.            QLineEdit *line = new QLineEdit();
  53.            line->setCompleter(StringCompleter);
  54.  
  55.            QHBoxLayout* pLayout = new QHBoxLayout(pWidget);
  56.            pLayout->addWidget(line);
  57.            pLayout->setAlignment(Qt::AlignCenter);
  58.            pLayout->setContentsMargins(0, 0, 0, 0);
  59.            pWidget->setLayout(pLayout);
  60.            ui->tableWidget->setCellWidget(ui->tableWidget->rowCount()-1, i, pWidget);
  61.         }
  62.     }
  63. }
  64. void Dialog::Add()
  65. {
  66.  
  67.   // QLineEdit*l = qobject_cast<QLineEdit*>(ui->tableWidget->cellWidget(0,2)); it should
  68.  //   be a code for getting qlineedit value
  69.  
  70.  
  71.  //   ui->lineEdit->setText(l->text());
  72.  
  73.     /*QString StringItem;  My trying to get value of qlineedit
  74.         QTableWidgetItem *pToItem;
  75.          pToItem  = ui->tableWidget->item(0,2);
  76.         StringItem=pToItem->text();
  77.         ui->lineEdit->setText(StringItem);*/
  78.     ui->tableWidget->insertRow(ui->tableWidget->rowCount());//
  79.     for(int i = 0; i<ui->tableWidget->columnCount(); i++)
  80.     {
  81.         if(i==0)
  82.         {
  83.             QWidget* pWidget = new QWidget(this);
  84.             QPushButton* btn_edit = new QPushButton();
  85.             btn_edit->setText("Edit");
  86.             connect(btn_edit, &QPushButton::clicked, this, &Dialog::onClicked);
  87.             QHBoxLayout* pLayout = new QHBoxLayout(pWidget);
  88.             pLayout->addWidget(btn_edit);
  89.             pLayout->setAlignment(Qt::AlignCenter);
  90.             pLayout->setContentsMargins(0, 0, 0, 0);
  91.             pWidget->setLayout(pLayout);
  92.             ui->tableWidget->setCellWidget(ui->tableWidget->rowCount()-1, i, pWidget);
  93.             continue;
  94.         }
  95.         if(i == 1)
  96.         {
  97.             QWidget* pWidget = new QWidget(this);
  98.             QPushButton* btn_edit = new QPushButton();
  99.             btn_edit->setText("Add");
  100.             connect(btn_edit, &QPushButton::clicked, this, &Dialog::Add);
  101.             QHBoxLayout* pLayout = new QHBoxLayout(pWidget);
  102.             pLayout->addWidget(btn_edit);
  103.             pLayout->setAlignment(Qt::AlignCenter);
  104.             pLayout->setContentsMargins(0, 0, 0, 0);
  105.             pWidget->setLayout(pLayout);
  106.             ui->tableWidget->setCellWidget(ui->tableWidget->rowCount()-1, i, pWidget);
  107.             continue;
  108.         }
  109.         if(i==2)
  110.         {
  111.  
  112.         }
  113.     }
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement