Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 在QListView中选择项目时启用QPushButton_Qt - Fatal编程技术网

Qt 在QListView中选择项目时启用QPushButton

Qt 在QListView中选择项目时启用QPushButton,qt,Qt,我基本上得到了一个QPushButton和一个连接到QStandarItemModel的QListView QPushButton允许删除QListView中的选定项目。我试图仅在QListView中至少选择了一个项目时启用QPushButton,但我找不到正确的信号。单击(QModleIndex)看起来是一个不错的起点-如果您设置一个插槽来接收该通知,您应该能够启用按钮 使用QtCreator/Designer: void MainWindow::on_listWidget_clicked(c

我基本上得到了一个QPushButton和一个连接到QStandarItemModel的QListView

QPushButton允许删除QListView中的选定项目。我试图仅在QListView中至少选择了一个项目时启用QPushButton,但我找不到正确的信号。

单击(QModleIndex)看起来是一个不错的起点-如果您设置一个插槽来接收该通知,您应该能够启用按钮

使用QtCreator/Designer:

void MainWindow::on_listWidget_clicked(const QModelIndex &index)
{
  ui->pushButton->setEnabled(true);
}
如果没有QtCreator,连接将分解为以下内容(Qt4样式):

单击(QModleIndex)看起来是一个不错的起点-如果您设置一个插槽来接收该通知,您应该能够启用按钮

使用QtCreator/Designer:

void MainWindow::on_listWidget_clicked(const QModelIndex &index)
{
  ui->pushButton->setEnabled(true);
}
如果没有QtCreator,连接将分解为以下内容(Qt4样式):


正确的信号是
QItemSelectionModel
对象可以使用
view->selectionModel()

获得正确的信号
QItemSelectionModel
对象可以使用
view->selectionModel()

获取。此答案不正确。有许多方法可以更改选择。OP所说的是删除所选项目,在这种情况下,您的解决方案将不起作用。是的,我同意selectionChanged()是应该采取的方法-我只是回答有关启用按钮的问题。这个答案不正确。有许多方法可以更改选择。OP所说的是删除所选项目,在这种情况下,您的解决方案将不起作用。是的,我同意selectionChanged()是应该采取的方法-我只是回答有关启用按钮的问题。