如何在單擊按鈕時同時將QSting和int添加到tableView?如何在單擊按鈕時向QTableView添加字符串和int
我想要的是具有名稱的第一列和具有數字的第二列。單擊按鈕時,兩個項目需要添加在同一行。
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爲一個顏色..等等etc etc) – Trompa
我想把它們顯示爲一個整數的唯一原因是因爲如果tableView中的一行被刪除,表中的一個數字將被更新以反映這些改變。換句話說,整數將需要在tableView中一起添加。我需要一個自定義模型和代表嗎? –
你必須顯示第二個列表號碼?如果不是,則將其作爲不同角色(Qt :: UserRole + 1)添加到第一列的QStandardItem中。也許你應該告訴我們更多關於你想要達到的目標。所以我們可以幫助你更好 – Trompa