LINUX.ORG.RU

[Qt] QTableWidget, очистка и вставка


0

1

Столкнулся со странным поведением QTableWidget, если в только что созданный виджет вставлять информацию всё происходит нормально и ожидаемо. Если этот виджет после вставки информации очистить с помощью clear() или clearContents() и вновь вставлять информацию то происходят странные вещи, в некоторые ячейки информация не добавляется.

Вопрос, для приведения виджета QTableWidget к состоянию только, что созданного не достаточно вызвать clear()/clearContents()? Что нужно сделать для приведения виджета QTableWidget к состоянию только, что созданного?

Ответ на: комментарий от braboar

>setRowCount()/setColumnCount()? Хотя я с таким поведением не встречался.

Пробовал, не помогает.

cppruled ()
void YourInheritedClass::clear()
{
    setRowCount(0);
    setColumnCount(0);
    setRowCount(RowCount);
    setColumnCount(ColumnCount);

    for (int i = 0; i < ColumnCount; ++i) {
        QTableWidgetItem *item = new QTableWidgetItem;
        item->setText(QString(QChar('A' + i)));
        setHorizontalHeaderItem(i, item);
    }

    setCurrentCell(0, 0);
}

Как-то так...

Insomnium ★★★★ ()

<offtopic>Почему все используют делфи-way подход с прямым обращениями к виджетам вместо православного model->view подхода, избавляющего от таких тупых багов?</offtopic>

Kosyak ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.