初始化指向 QListWidgetItem Qt 5.8 的指针

Initialising a pointer to QListWidgetItem Qt 5.8

在我的程序中,我有一系列选项卡,每个选项卡上都有一个组合框和一个 QListWidget。根据组合框上的选择,QListWidget 将被填充。

现在我想要实现的是,用户在组合框中的给定选择的 "checkable" 列表小部件上选择一系列项目后按下 "APPLY" 按钮,我将阅读通过使用指针 QListWidgetItem 指向列表小部件

的指针,列表小部件上每个项目的 bool 状态

这是我的代码的一部分;

void MainWindow::on_applyButton_clicked()
{
  //Reset list
  MainWindow::revenueList.clear();

  //Processing income statement
  //Select the first item on inc_st_combo
  ui->inc_st_comb->setCurrentText("Revenue Growth");

  //Create an iterator
  QStringListIterator iter(MainWindow::revenue_labels);

  //Loop through the list widget and read bool status
  while(iter.hasNext())
  {
      //Index for the QList
      int index = 0;
      //Create a QListWidgetItem pointer
      QListWidgetItem *listItem = new     QListWidgetItem(iter.next(),Ui_MainWindow::inc_st_list);

      bool status = listItem->checkState();
      qDebug() << "Status: " << status << endl;

      MainWindow::revenueList.append(status);
   }

  qDebug() << "List: " << MainWindow::revenueList << endl;
}

我的问题是,当我尝试在下一行初始化 QLsitWidgetItem 时;

   QListWidgetItem *listItem = new QListWidgetItem(iter.next(),Ui_MainWindow::inc_st_list);

Qt return下面的错误;

/Users/Vino/Documents/My Stuff/Qt Projects/Fundemental Analysis/FundementalAnalysis/mainwindow.cpp:389: error: invalid use of non-static data member 'inc_st_list' QListWidgetItem *listItem = new QListWidgetItem(iter.next(),Ui_MainWindow::inc_st_list); ~~~~~~~~~~~~~~~^~~~~~~~~~~

如何初始化 QListWidgetItem 指针以指向表单上的特定 listWidget?

如果您想要一个指向已存在对象的指针,您将不会使用 new,您需要为其分配现有对象的地址:

int pos = 0; //determine the right position
QListWidgetItem *listItem = ui->inc_st_list->item(pos);