如何在QT中从QListView获取所选项目的文本?

时间:2015-08-28 06:20:30

标签: c++ qt qt4

我需要将 var appUrl = ""; if (!_.isUndefined(document.querySelector('#hdnCentraPath')) && !_.isNull(document.querySelector('#hdnCentraPath'))) { appUrl = angular.element(document.querySelector('#hdnCentraPath'))[0].value; } $stateProvider .state('home', { url: '/', templateUrl: appUrl + '/Flight/Welcome' }) .state('flight', { abstract: true, url: '/flight', templateUrl: appUrl+ '/Flight/Index' }) .state('flight.welcome', { url: '/', templateUrl: appUrl + '/Flight/Welcome' }) .state('flight.search', { url: '/search', templateUrl: appUrl + '/Flight/Search', controller: 'SearchCtrl' }) .state('flight.result', { url: '/result', templateUrl: appUrl + '/Flight/Result', controller: 'ResultCtrl' }) .state('flight.flightBooking', { url: '/FlightBooking', templateUrl: appUrl + '/Flight/FlightBooking', controller: 'FlightBookingCtrl' }) .state('flight.payment', { url: '/Payment', templateUrl: appUrl + '/Flight/PaymentDetails', controller: 'FlightBookingCtrl' }) .state('flight.cart', { url: '/cart', templateUrl: appUrl + '/Flight/Cart', controller: 'FlightCartCtrl' }) 中的所选项目名称作为QListView。我试过谷歌,但我没有找到任何有用的东西。

我的QStringQListView以及填充它的方法如下:

Model

2 个答案:

答案 0 :(得分:3)

我认为,您可以使用update dbo.SEC_Menus set ActionName = ControllerName, ControllerName = ActionName 来实现此目标

selectedIndexes()

因此,当您需要获取项目时 - 只需调用此方法并从您的模型中获取项目(通过访问者,或使用/ system角色使用数据(索引),或者以任何方式获取按索引的项目,即行和列。

例如,这是获取第一项的方法:

QModelIndexList QListView::selectedIndexes() const;

答案 1 :(得分:0)

使用以下代码解决:

    void hist::on_listView_clicked(const QModelIndex &index) {
    QModelIndexList templatelist = ui->listView->selectionModel()->selectedIndexes();
    QStringList stringlist;
    foreach (const QModelIndex &index, templatelist){
    stringlist.append(index.data(Qt::DisplayRole).toString());
    }
    qDebug() << stringlist.join(",");
    }

enter image description here

谢谢大家!