Получение текста от QListView

Я думаю, что Вы хотите сказать, "Последние четыре символа $file, равного .txt?" Если так, Можно использовать следующее:

if [ ${file: -4} == ".txt" ]

Примечание, что пространство между file: и -4 требуется как ':-' модификатор, означает что-то другое.

5
задан Matt Raines 6 July 2016 в 21:03
поделиться

2 ответа

Модель, доступная для QListView :: model () , содержит элементы. Вы можете сделать что-то вроде этого:

QListView* view ; // The view of interest

QAbstractItemModel* model = view->model() ;
QStringList strings ;
for ( int i = 0 ; i < model->rowCount() ; ++i )
{
  // Get item at row i, col 0.
  strings << model->index( i, 0 ).data( Qt::DisplayRole ).toString() ;
}

Вы также упомянули, что хотели бы получать обновленные строки при написании текста - вы можете сделать это, подключив сигнал модели dataChanged () к вашей функции, которая извлекает строки . См. QAbstractItemModel :: dataChanged () .

4
ответ дан 14 December 2019 в 08:57
поделиться

Вы можете запросить объект QListView для его корневого QModelIndex и использовать его для перебора различных записей с помощью sibling / children методы. Вы можете получить доступ к тексту, связанному с каждым индексом, вызвав метод данных для индекса с ролью, указанной как Qt :: DisplayRole.

Подробнее см. В следующей документации:

QAbstractItemView - родительский класс для QListView

QModelIndex

3
ответ дан 14 December 2019 в 08:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: