【问题标题】:Click action on QListWidget单击 QListWidget 上的操作
【发布时间】:2017-02-21 22:42:43
【问题描述】:

我创建了一个列表小部件,并使用 Designer(关闭)在其上添加了一些索引(或项目)。 现在,当我单击此项目(索引)时,我需要做一些事情。但我不明白该怎么做。

connect(ui->listWidget,SIGNAL(itemClicked(QListWidgetItem*)),this,SLOT(itemClicked(QListWidgetItem*)));

void MainWindow::on_listWidget_clicked(const QModelIndex &index)
{
    if(ui->listWidget->indexWidget(index) == QAbstractItemView::Shutdown) {
        command = "shutdown /s /t 7200";
    }
}

我收到错误'Shutdown' is not a member of 'QListWidgetItem'

void MainWindow::on_listWidget_clicked(const QModelIndex &index)

是在我添加点击动作时自动创建的。

我的列表截图

【问题讨论】:

  • 你打算用ui->listWidget->indexWidget(index) == QAbstractItemView::Shutdown做什么?
  • 哦,对不起,我忘了关机 - 列表中的元素我编辑我的问题,你可以看到所以,当我在我的列表中选择这个元素时,我只想做一些事情,敌人示例设置了一些变量
  • 不存在:QAbstractItemView::Shutdown
  • 你能告诉我正确的方法吗?我的列表元素存储在哪个类中?例如对话框中的按钮,我可以这样选择: QDialogBu​​ttonBox::Ok 或 QDialogBu​​ttonBox::Close 如何处理 List 中的元素?
  • 你要做的是知道什么时候点击关机项

标签: c++ qt qt5 qt-creator qlistwidget


【解决方案1】:

您必须使用名为 itemClicked 的插槽:

然后按文本过滤:

void MainWindow::on_listWidget_itemClicked(QListWidgetItem *item)
{
    if(item->text()=="Shutdown"){
        command = "shutdown /s /t 7200";
    }
}

【讨论】:

  • 谢谢,你帮帮我^^
猜你喜欢
  • 2020-09-02
  • 2019-05-15
  • 1970-01-01
  • 2017-01-08
  • 1970-01-01
  • 2020-05-19
  • 2012-10-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多