Adding custom widgets to QTableWidget
-
I am having a problem adding a custom widget to a QTableWidget.
In my custom QWidget constructor, I have:
@TaskListItem::TaskListItem(QWidget *parent)
: QWidget(parent)
{
this->widgetLayout = new QVBoxLayout();this->taskName = new QLineEdit("Test!"); this->widgetLayout->addWidget(this->taskName); this->setLayout(this->widgetLayout);
}
@And then I add my item:
@
this->taskListTableView = new QTableWidget(0, 1);
this->taskListTableView->setHorizontalHeaderLabels(labels);int row = this->taskListTableView->rowCount(); this->taskListTableView->insertRow(row); this->taskListTableView->setCellWidget(row, 1, new TaskListItem()); this->taskListTableView->horizontalHeader()->setResizeMode(0, QHeaderView::Stretch); tableViewLayout->addWidget(this->taskListTableView);
@
I get one row that is editable upon clicking it, but it does not display my default text "Test!"
I do not know what is going on. Can anyone guide me? Thanks!
-
"hey just check this link this might help you"
http://www.qtcentre.org/threads/33033-Populating-a-QtableWidget-using-a-list-of-custom-widgets -
Thanks.
I am trying this:
TaskListItem *item = new TaskListItem();
this->taskListTableView->setCellWidget(row, 1, item);
QWidget *widget = this->taskListTableView->cellWidget(row, 1);if (widget == 0) qDebug() << "Hm";
And it keeps printing Hm, meaning that the widget is not getting back an item. Why would this happen?
-
@QWidget *widget = this->taskListTableView->cellWidget(row, 1);@
this is not correct, first u initialize your qwidget object like this....
@QWidget *widget =new QWidget(this);@
just try this...