Я думаю, что Вы хотите сказать, "Последние четыре символа $file, равного .txt
?" Если так, Можно использовать следующее:
if [ ${file: -4} == ".txt" ]
Примечание, что пространство между file:
и -4
требуется как ':-' модификатор, означает что-то другое.
Модель, доступная для 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 ()
.
Вы можете запросить объект QListView для его корневого QModelIndex и использовать его для перебора различных записей с помощью sibling / children методы. Вы можете получить доступ к тексту, связанному с каждым индексом, вызвав метод данных для индекса с ролью, указанной как Qt :: DisplayRole.
Подробнее см. В следующей документации:
QAbstractItemView - родительский класс для QListView