Hey guys,
i created an own QTableWidgetItem:
Header:
Qt Code:
  1. struct Connections{
  2. QTableWidgetItem *connectedItem;
  3. int connection;
  4. };
  5.  
  6. class MyQTableWidgetItem : public QTableWidgetItem
  7. {
  8. public:
  9. MyQTableWidgetItem();
  10. void setConnection(MyQTableWidgetItem &connectedItem, int connection);
  11. private:
  12. QVector <Connections*> ConnectedItems;
  13.  
  14. signals:
  15.  
  16. public slots:
  17.  
  18. };
To copy to clipboard, switch view to plain text mode 
Source:
Qt Code:
  1. #include "myqtablewidgetitem.h"
  2.  
  3. MyQTableWidgetItem::MyQTableWidgetItem()
  4. {
  5. }
  6.  
  7. void MyQTableWidgetItem::setConnection(MyQTableWidgetItem &connectedItem, int connection)
  8. {
  9. bool itemFound = false;
  10. for(int i = 0;i < this->ConnectedItems.length();i++){
  11. if(this->ConnectedItems[i]->connectedItem->text() == connectedItem.text()){
  12. this->ConnectedItems[i]->connection = connection;
  13. itemFound = true;
  14. i = this->ConnectedItems.length();
  15. }
  16. }
  17. if(!itemFound){
  18. Connections *newConnection = new Connections;
  19. newConnection->connectedItem = &connectedItem;
  20. newConnection->connection = connection;
  21. this->ConnectedItems << newConnection;
  22. }
  23.  
  24. }
To copy to clipboard, switch view to plain text mode 
Now I place this items into a table:
Header:
Qt Code:
  1. class AnalyseTable : public QTableWidget
  2. {
  3. Q_OBJECT
  4. public:
  5. AnalyseTable(QWidget * parent = 0);
  6. private:
  7. bool lastRowUsed();
  8. signals:
  9. void createNewButton(QTableWidgetItem &item);
  10. public slots:
  11. void InsertNewRow();
  12.  
  13. };
  14. #endif // ANALYSETABLE_H
To copy to clipboard, switch view to plain text mode 
Source:
Qt Code:
  1. #include "analysetable.h"
  2. #include <QDebug>
  3. AnalyseTable::AnalyseTable(QWidget *parent) : QTableWidget(parent)
  4. {
  5. this->setColumnCount(6);
  6.  
  7.  
  8. }
  9.  
  10. bool AnalyseTable::lastRowUsed()
  11. {
  12. int rows = this->rowCount();
  13. if(!rows){
  14. return true;
  15. }
  16. if(this->item(rows - 1,0)->text() == "")
  17. return false;
  18. return true;
  19.  
  20. }
  21.  
  22. void AnalyseTable::InsertNewRow()
  23. {
  24. if(this->lastRowUsed()){
  25. int rows = this->rowCount();
  26. this->insertRow(rows);
  27. int column = this->columnCount();
  28. for(int i = 0 ; i< column; i++){
  29. this->setItem(rows,i,new MyQTableWidgetItem());
  30. }
  31. emit createNewButton(*(this->item(rows,0)));
  32. }
  33. }
To copy to clipboard, switch view to plain text mode 
My problem now:
emit createNewButton(*(this->item(rows,0)));
this->item() doesnt retrun a MyQTableWidgetItem it return a QTableWidgetItem. How can i fix that? Someone got an idea?
Greets