Информация об изменениях

Сообщение Вопросы по работе с таблицами (тип QTableWidget) от 23.09.2022 5:46

Изменено 23.09.2022 5:48 RussianFellow

Вопросы по работе с таблицами (тип QTableWidget)
Вопросы по работе с таблицами (тип QTableWidget):

1. Как удалить все столбцы в заголовке таблицы?
В MFC можно написать:

n = m_IDC_LIST1.GetHeaderCtrl()->GetItemCount();
if (n>0)
{
    for (i=(n-1); i>=0; i--)  m_IDC_LIST1.DeleteColumn();
}


А как написать в Qt? Можно ли написать:

n = ui->tableWidget->horizontalHeader()->count();
if (n>0)
{
    QStringList  lst;
    lst.clear();
    ui->tableWidget->setHorizontalHeaderLabels(lst);
}


Или же надо писать как-то по-другому?

2. Как сделать какую-то клетку в таблице редактируемой или нередактируемой?
Как сделать то же самое для целой строки? Для целого столбца? Для всей строки?

3. Как узнать номер выделенной строки в таблице?

4. Как работать с таблицей в режиме множественного выделения строк (multiselecting)?
Как узнать число выделенных строк и номера выделенных строк?
Вопросы по работе с таблицами (тип QTableWidget)
Вопросы по работе с таблицами (тип QTableWidget):

1. Как удалить все столбцы в заголовке таблицы?
В MFC можно написать:

n = m_IDC_LIST1.GetHeaderCtrl()->GetItemCount();
if (n>0)
{
    for (i=(n-1); i>=0; i--)  m_IDC_LIST1.DeleteColumn();
}


А как написать в Qt? Можно ли написать:

n = ui->tableWidget->horizontalHeader()->count();
if (n>0)
{
    QStringList  lst;
    lst.clear();
    ui->tableWidget->setHorizontalHeaderLabels(lst);
}


Или же надо писать как-то по-другому?

2. Как сделать какую-то клетку в таблице редактируемой или нередактируемой?
Как сделать то же самое для целой строки? Для целого столбца? Для всей таблицы?

3. Как узнать номер выделенной строки в таблице?

4. Как работать с таблицей в режиме множественного выделения строк (multiselecting)?
Как узнать число выделенных строк и номера выделенных строк?