Свойства QTableview

Мне нужна помощь с настройкой QTableViewЯ определил QTableView как показывает этот пример, который я нашел в интернете:

model = new QStandardItemModel(2,3,this); //2 Rows and 3 Columns
model->setHorizontalHeaderItem(0, new QStandardItem(QString("ID")));
model->setHorizontalHeaderItem(1, new QStandardItem(QString("Name")));
model->setHorizontalHeaderItem(2, new QStandardItem(QString("Description")));
ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
ui->tableView->setModel(model);
  1. Как я могу определить размер для каждого столбца в отдельности, т.е. используя проценты:
    Я бы получил первый столбец 10% ширины, второй 50%, третий 40%.

  2. Когда я запускаю программу и дважды нажимаю на строку в QTableViewЯ могу изменить значение ячейки, на которую нажали, хотя я определил QTableView onDoubleclick метод, я имею в виду, как если вы нажимаете на переименовать файл, он выделяет текст, чтобы вы могли изменить, как я могу отключить это?

  3. Как сделать размер столбцов изменяемым, значение может быть изменено путем перетаскивания края их столбцов.

0

Решение

Первый: использовать setColumnWidth() метод после setModel(), Например:

//...
ui->tableView->setModel(model);
double  ii = ui->tableView->columnWidth(0);

ui->tableView->setColumnWidth(1,0.4*ii);
ui->tableView->setColumnWidth(2,0.5*ii);

В-третьих: сделать это удалить

ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);

из вашего кода.

1

Другие решения


По вопросам рекламы [email protected]