2017-03-22 1 views
-7

1- Ich arbeite an einem Projekt und ich habe eine einfache GUI gemacht, aber ich möchte eine Run-Taste in meiner GUI machen, um c-Code zu kompilieren und auszuführen? (ich möchte einfach ide machen, also habe ich qt verwendet, um mein UI zu machen, aber ich kann keinen Knopf machen, der arg an Windows-Terminal sendet)Wie gcc-Compiler aus meiner Qt-Anwendung ausführen?

2 - Wie man einen guten Start mit Qt hat

+1

Huh? Diese Frage ergibt keinen Sinn. – MrEricSir

+0

Ihre Frage ist seltsam. Ich nehme an, dass Sie gcc-Compiler aus Ihrer eigenen Anwendung ausführen wollen, oder? –

+0

Ich denke du bist ein wenig abseits vom Thema! Aber trotzdem würde ich Ihnen raten, diese Website zu sehen: http://www.votrealms.com/ und auch die offizielle Qt-Dokumentation: http://doc.qt.io/qt-5/qtexamplesandtutorials.html – basslo

Antwort

0

Sie können jedes Programm von Qt5 ausführen und seine Standardausgabe mit der Klasse QProcess erfassen. Die offizielle Dokumentation mit Beispielen ist hier: http://doc.qt.io/qt-5/qprocess.html

Also, was ich tun würde, dann ist einfach eine GUI macht mit 2 QTextEdit Widgets, einem für den Code und einem für die Kompilierung/run-Ausgang. Dokumentation für QTextEdit ist hier: http://doc.qt.io/qt-5/qtextedit.html

So ist die „kompilieren und ausführen“ -Taste würde einfach

  1. Nehmen Inhalt der oberen QTextEdit in eine temporäre Textdatei auf dem Datenträger. Dokumentation für QFile ist hier: http://doc.qt.io/qt-5/qfile.html
  2. starten gcc die Datei mit QProcess und erfassen die Ausgabe in einem String
  3. Ersetzen Sie den Inhalt des unteren QTextEdit mit dem Ausgang der Kompilierung complie.
  4. Sehen Sie sich den Rückkehrcode von QProcess an, um festzustellen, ob die Kompilierung erfolgreich war.
  5. Für erfolgreichen Build, rufen Sie einfach QProcess erneut auf, dieses Mal für die ausführbare Datei, die von gcc erstellt wurde, um den Code auszuführen, während eine beliebige Ausgabe an den unteren QTextEdit angehängt wird.

HINWEIS: Als Übung dies wahrscheinlich Spaß sein wird und reichlich Gelegenheit bieten, für das Lernen, aber ich bezweifle dies auf seinem eigenen, sehr nützlich wäre.

Viel Glück!

Verwandte Themen