La manière la plus simple et la plus classique est de proposer à l'utilisateur un bouton "Rafraîchir". C'est l'utilisateur qui a modifié le contenu du disque, c'est lui qui sait s'il faut rafraîchir la liste (et quand).
Quand il clique sur ce bouton, il suffit que tu modifies le ListModel associé à ta liste, et que tu appelles fireContentsChanged() sur ce modèle. La liste devrait se mettre à jour automatiquement.
Si tu veux quelque chose de totalement transparent (ta liste "détecte" les changements sur disque), je n'ai qu'une seule réponse : bon courage...