Как добавить QSting и int в таблицуView одновременно с нажатием кнопки?Как добавить строку и int в QTableView при нажатии кнопки
Я хочу иметь первый столбец с именами и второй столбец с номерами. Оба элемента необходимо добавить в одну строку при нажатии кнопки.
Col 1--- Col 2---
First Name 1
Second Name 2
Third Name 3
Вот что у меня есть, который добавляет две строки, как я могу преобразовать вторую ячейку в int?
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
model = new QStandardItemModel();
model->setRowCount(0);
ui->tableView->setModel(model);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pushButton_clicked()
{
QStandardItem *userName = new QStandardItem(ui->lineEdit_Name->text());
QStandardItem *userNumber = new QStandardItem(ui->lineEdit_Number->text());
QList<QStandardItem*> row;
row <<userName << userNumber;
model->appendRow(row);
}
Большое спасибо
+1 для решения проблемы. К записи. Данные в QStandardItem являются QVariant. (для любой роли проверьте 'QVariant QStandardItem :: data (int role)' Это делегат по умолчанию, который преобразует displayRole в QString. (и backgroundRole для цвета ..и т. д. и т. д. и т. д.) – Trompa
Единственная причина, по которой я хочу отображать их в виде целых чисел, заключается в том, что если одна из строк в таблицеView будет удалена, число за пределами таблицы будет обновлено, чтобы отразить эти изменения. Другими словами, ints нужно будет добавить вместе один раз в tableView. Мне нужна специальная модель и делегат для этого? –
Вы должны показать, что второй номер колоны? Если нет, добавьте его как разную роль (Qt :: UserRole + 1) в QStandardItem первого столбца. Может быть, вы shoudl расскажите нам немного больше о том, чего вы хотите достичь. Итак, мы могли бы помочь вам лучше – Trompa