我基本上有一个QPushButton和一个连接到QStandardItemModel的QListView。
QPushButton允许删除QListView中的选定项目。如果在QListView中至少选择了一个项目,我试图仅启用QPushButton,但我找不到正确的信号。
答案 0 :(得分:1)
正确的信号是QItemSelectionModel::selectionChanged。可以使用QItemSelectionModel
获取view->selectionModel()
个对象。
答案 1 :(得分:0)
clicked(QModleIndex)看起来可能是一个不错的起点 - 如果您设置一个插槽来接收该通知,您应该能够启用您的按钮。
使用QtCreator / Designer:
void MainWindow::on_listWidget_clicked(const QModelIndex &index)
{
ui->pushButton->setEnabled(true);
}
如果没有QtCreator,连接会分解成类似这样的东西(Qt4样式):
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent)
{
QListWidget* listWidget = new QListWidget();
// ... setup ui stuff, etc ...
connect(listWidget, SIGNAL(clicked(QModelIndex)),
this, SLOT(on_listWidget_clicked(QModelIndex));
}