Скажите
C++ (Qt)
void QLayout::removeWidget ( QWidget * widget )
удаляет widget из QLayout или нет???
По доке удаляет
Тогда не пойму почему у меня не перерисовывает нормально.
Вот код
C++ (Qt)
enum active_table {stantion,device,function};
class tableWidget: public QWidget
{
Q_OBJECT
public:
explicit tableWidget(QWidget*parent = 0);
virtual ~tableWidget();
protected:
virtual void contextMenuEvent(QContextMenuEvent *);
public Q_SLOTS:
void sl_tablestantion(TableStantion *);
void sl_tabledevice(TableDevice *);
public:
QTableWidget*table;
QVBoxLayout *vb;
active_table table_flag;
TableStantion *tbs;
TableDevice *tbd;
TableFunctionDev *tbf;
};
C++ (Qt)
void tableWidget::sl_tablestantion(TableStantion *tb)
{
switch(table_flag)
{
case stantion:
vb->removeWidget(tbs);
break;
case device:
vb->removeWidget(tbd);
break;
case function:
vb->removeWidget(tbf);
break;
}
table_flag = stantion;
tbs = tb;
vb->addWidget(tb);
qDebug()<<"table_flag = "<<table_flag;
}
void tableWidget::sl_tabledevice(TableDevice *tb)
{
switch(table_flag)
{
case stantion:
vb->removeWidget(tbs);
break;
case device:
vb->removeWidget(tbd);
break;
case function:
vb->removeWidget(tbf);
break;
}
table_flag = device;
tbd = tb;
vb->addWidget(tb);
qDebug()<<"table_flag = "<<table_flag;
}