@@ -48,7 +48,7 @@ void Table::parse(Widget *parent, std::map<int, Widget*>& widgets, tinyxml2::XML
48
48
std::string tag2 (e2 ->Value () ? e2 ->Value () : " " );
49
49
if (tag2 != " item" ) continue ;
50
50
TableItem item;
51
- item.text = std::string (e2 ->GetText ());
51
+ item.text = std::string (e2 ->GetText () ? e2 -> GetText () : " " );
52
52
item.editable = xmlutils::getAttrBool (e2 , " editable" , true );
53
53
rows[rows.size ()-1 ].push_back (item);
54
54
}
@@ -177,7 +177,22 @@ void Table::setItem(int row, int column, std::string text, bool suppressSignals)
177
177
{
178
178
QTableWidget *tablewidget = static_cast <QTableWidget*>(getQWidget ());
179
179
bool oldSignalsState = tablewidget->blockSignals (suppressSignals);
180
- tablewidget->setItem (row, column, new QTableWidgetItem (QString::fromStdString (text)));
180
+ QTableWidgetItem *item = new QTableWidgetItem;
181
+ item->setText (QString::fromStdString (text));
182
+ tablewidget->setItem (row, column, item);
183
+ tablewidget->blockSignals (oldSignalsState);
184
+ }
185
+
186
+ void Table::setItemImage (int row, int column, std::string data, int width, int height, bool suppressSignals)
187
+ {
188
+ QTableWidget *tablewidget = static_cast <QTableWidget*>(getQWidget ());
189
+ bool oldSignalsState = tablewidget->blockSignals (suppressSignals);
190
+ QTableWidgetItem *item = new QTableWidgetItem;
191
+ QImage::Format format = QImage::Format_RGB888;
192
+ int bpp = 3 ; // bytes per pixel
193
+ QImage image ((unsigned char *)data.data (), width, height, bpp * width, format);
194
+ item->setData (Qt::DecorationRole, QPixmap::fromImage (image));
195
+ tablewidget->setItem (row, column, item);
181
196
tablewidget->blockSignals (oldSignalsState);
182
197
}
183
198
0 commit comments