ARGH! Du schreibst oben
Ich möchte dies aber ohne das QCoreApplication machen (weil argc und argv) nicht bekannt sind.
Niente von wegen GUI. Und für Gui mit Qt brauchst du ein QApplication, was 1) von QCoreApplication abgeleitet ist und 2) auch argc und argv als Parameter erwartet. was bei argc und argv das Problem ist, solltest du bitte mal erklären.
Zu deinem eigentlichen Problem wurde bereits was gesagt. QFtp arbeitet asynchron, ein get() usw. stoßen eine Aktion im Hintergrund an und kehren sofort an die Stelle des Aufrufs zurück. Wenn du danach sofort dein ftp und file zerstörst, werden diese asynchronen Operationen sofort abgebrochen.
Ergo: Schau dass dein ftp und file-Objekt so lange leben, wie sie brauchen die Dateien herunter zu laden.
Und wo du in deinem Code jetzt versuchst ALLE Dateien mit einer bestimmten Endung zu holen seh ich auch nicht - du forderst explizit nur die robots.txt an.
Ich denke du solltest zu allererst C++ ordentlich lernen. (Wg. Verständnis für Objektzugehörigkeiten, Lebenszeit, Instanziierung, usw.), danach die Qt-Grundlagen. Natürlich kannst du das auch parallel zu deinem Projekt machen, aber mMn. besteht da noch etwas Nachholbedarf.