Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "dialog.h"
- #include "ui_dialog.h"
- #include <QHBoxLayout>
- #include <QPushButton>
- #include <QCompleter>
- Dialog::Dialog(QWidget *parent) :
- QDialog(parent),
- ui(new Ui::Dialog)
- {
- ui->setupUi(this);
- ui->tableWidget->setColumnWidth(0, 120);
- ui->tableWidget->setColumnWidth(1, 120);
- ui->tableWidget->setColumnWidth(2, 160);
- QStringList L;
- L<<"jOHN"<<"sAM"<<"Smith"<<"Arr"<<"ABB"<<"C";
- QCompleter *StringCompleter = new QCompleter(L,this);
- StringCompleter->setCaseSensitivity(Qt::CaseInsensitive);
- ui->tableWidget->insertRow(ui->tableWidget->rowCount());
- for(int i = 0; i<ui->tableWidget->columnCount(); i++)
- {
- if(i==0)
- {
- QWidget* pWidget = new QWidget(this);
- QPushButton* btn_edit = new QPushButton();
- btn_edit->setText("Edit");
- connect(btn_edit, &QPushButton::clicked, this, &Dialog::onClicked);
- QHBoxLayout* pLayout = new QHBoxLayout(pWidget);
- pLayout->addWidget(btn_edit);
- pLayout->setAlignment(Qt::AlignCenter);
- pLayout->setContentsMargins(0, 0, 0, 0);
- pWidget->setLayout(pLayout);
- ui->tableWidget->setCellWidget(ui->tableWidget->rowCount()-1, i, pWidget);
- continue;
- }
- if(i == 1)
- {
- QWidget* pWidget = new QWidget(this);
- QPushButton* btn_edit = new QPushButton();
- btn_edit->setText("Add");
- connect(btn_edit, &QPushButton::clicked, this, &Dialog::Add);
- QHBoxLayout* pLayout = new QHBoxLayout(pWidget);
- pLayout->addWidget(btn_edit);
- pLayout->setAlignment(Qt::AlignCenter);
- pLayout->setContentsMargins(0, 0, 0, 0);
- pWidget->setLayout(pLayout);
- ui->tableWidget->setCellWidget(ui->tableWidget->rowCount()-1, i, pWidget);
- continue;
- }
- if(i==2)// I CREATE LINEEDIT IN TABLEWIDGET HERE
- {
- QWidget* pWidget = new QWidget(this);
- QLineEdit *line = new QLineEdit();
- line->setCompleter(StringCompleter);
- QHBoxLayout* pLayout = new QHBoxLayout(pWidget);
- pLayout->addWidget(line);
- pLayout->setAlignment(Qt::AlignCenter);
- pLayout->setContentsMargins(0, 0, 0, 0);
- pWidget->setLayout(pLayout);
- ui->tableWidget->setCellWidget(ui->tableWidget->rowCount()-1, i, pWidget);
- }
- }
- }
- void Dialog::Add()
- {
- // QLineEdit*l = qobject_cast<QLineEdit*>(ui->tableWidget->cellWidget(0,2)); it should
- // be a code for getting qlineedit value
- // ui->lineEdit->setText(l->text());
- /*QString StringItem; My trying to get value of qlineedit
- QTableWidgetItem *pToItem;
- pToItem = ui->tableWidget->item(0,2);
- StringItem=pToItem->text();
- ui->lineEdit->setText(StringItem);*/
- ui->tableWidget->insertRow(ui->tableWidget->rowCount());//
- for(int i = 0; i<ui->tableWidget->columnCount(); i++)
- {
- if(i==0)
- {
- QWidget* pWidget = new QWidget(this);
- QPushButton* btn_edit = new QPushButton();
- btn_edit->setText("Edit");
- connect(btn_edit, &QPushButton::clicked, this, &Dialog::onClicked);
- QHBoxLayout* pLayout = new QHBoxLayout(pWidget);
- pLayout->addWidget(btn_edit);
- pLayout->setAlignment(Qt::AlignCenter);
- pLayout->setContentsMargins(0, 0, 0, 0);
- pWidget->setLayout(pLayout);
- ui->tableWidget->setCellWidget(ui->tableWidget->rowCount()-1, i, pWidget);
- continue;
- }
- if(i == 1)
- {
- QWidget* pWidget = new QWidget(this);
- QPushButton* btn_edit = new QPushButton();
- btn_edit->setText("Add");
- connect(btn_edit, &QPushButton::clicked, this, &Dialog::Add);
- QHBoxLayout* pLayout = new QHBoxLayout(pWidget);
- pLayout->addWidget(btn_edit);
- pLayout->setAlignment(Qt::AlignCenter);
- pLayout->setContentsMargins(0, 0, 0, 0);
- pWidget->setLayout(pLayout);
- ui->tableWidget->setCellWidget(ui->tableWidget->rowCount()-1, i, pWidget);
- continue;
- }
- if(i==2)
- {
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement