【问题标题】:Initialising a pointer to QListWidgetItem Qt 5.8初始化指向 QListWidgetItem Qt 5.8 的指针
【发布时间】:2017-02-23 09:48:19
【问题描述】:

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

现在我想要实现的是用户在“可检查”列表小部件上为组合框中的给定选择选择一系列项目后按下“应用”按钮,我将读取每个项目的布尔状态在列表小部件上使用指针QListWidgetItem 指向列表小部件的指针

这是我的代码的一部分;

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 返回如下错误;

/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?

【问题讨论】:

    标签: c++ qt qlistwidget qlistwidgetitem


    【解决方案1】:

    如果你想要一个指向已经存在的对象的指针,你不会使用new,你需要给它分配现有对象的地址:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-09
      • 2010-10-11
      • 1970-01-01
      • 2014-02-05
      • 2015-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多