CPP – die neusten Beiträge

Betreff: Desktop-App (Mac/Win) mit Qt & komplexer UI – Python oder C++ für Hobby-Entwickler mit KI-Fokus?

allo zusammen,

ich plane eine persönliche Desktop-Aufgabenverwaltungs-App für Mac & Windows. Langfristig soll sie eine komplexe UI bekommen (Kanban-Board mit Drag & Drop, Kalender mit OS-Integration). Mein Hauptziel ist es, eine Technologie zu wählen, die das packt, um einen späteren kompletten Rewrite der GUI wegen Framework-Limitierungen zu vermeiden.

Nach viel Recherche habe ich mich für Qt als UI-Framework entschieden, da es die nötige Mächtigkeit und den Qt Designer (den ich gut finde) bietet.

Jetzt stehe ich aber vor der großen Frage: Soll ich Qt mit Python (PySide6) oder mit C++ nutzen?

Kurz zu meinem Hintergrund:

  • Ich entwickle als Hobby, nicht beruflich.
  • Ich setze sehr stark auf KI-Unterstützung für die konkrete Code-Erstellung.
  • Meine C++ Erfahrung ist minimal: Bei sehr kleinen Windows-Tools (mit WinAPI, nicht Qt) hat die KI den Code geschrieben, ich habe primär Fehler mit der KI behoben. Ich kann C++ also nicht wirklich.
  • Meine Go Erfahrung ist auch kaum vorhanden (nur mal ein Fyne-Fenster testweise).
  • Ich habe aber einen (von KI geschriebenen) Python-Backend-Dienst für eine andere iOS Swift App. Python ist also schon entfernt in meinem technischen Umfeld, und ich habe auch Interesse an Pentesting (wo Python nützlich ist).
  • Für die Aufgaben-App selbst ist ein Installer/Abhängigkeiten okay. (Der Wunsch nach kleinen, einzelnen 
  • .exe
  • -Dateien betrifft andere, zukünftige, kleine Windows-Tools, für die ich dann wahrscheinlich Go oder C++/WinAPI nehmen würde – das ist also ein getrenntes Thema.)

Meine Zwickmühle mit Python/Qt vs. C++/Qt:

  • Python/Qt (PySide6):
  • Pro: Bietet die volle Qt-Power. Python ist deutlich zugänglicher für mich als C++. Ich habe die genannten Synergien (anderer Dienst, Pentesting). Die KI kann mich bei Python/Qt sicher gut unterstützen, und der Qt Designer hilft beim UI-Bau.
  • Mein großes Problem: Ich habe einen hartnäckigen "faden Beigeschmack" / ein starkes Unbehagen, Python für GUI-Programmierung zu nutzen, auch wenn meine frühere Hauptsorge (Performance) bei Qt-GUIs wohl unbegründet ist.
  • C++/Qt:
  • Pro: Wäre Qt "nativ", und mein Python-GUI-Unbehagen wäre weg.
  • Meine große Sorge: Die extreme Lernkurve von C++ von meinem jetzigen Stand. Ich habe Angst, hier monatelang nur mit der Sprache zu kämpfen (auch mit KI) und nicht bei der App voranzukommen, was für mich "verschwendete Zeit" wäre.

Meine Frage an euch: Ich will jetzt "richtig anfangen" mit Version 0.0.1 meiner App (Fenster, Eingabe, Button, Liste). Was ratet ihr mir in dieser spezifischen Situation für den Start mit Qt? Sollte ich versuchen, meine Python-GUI-Aversion (mit viel KI-Hilfe und Fokus auf den Qt Designer) zu überwinden, um die Vorteile der zugänglicheren Sprache und der Synergien zu nutzen? Oder haltet ihr den Weg mit C++/Qt (trotz des immensen Lernaufwands für mich) für realistischer oder langfristig besser, um Qt ohne Python-GUI-Unbehagen zu nutzen? Mein Hauptziel bleibt, die App mit Kanban & Co. sicher umsetzen zu können, ohne in einer Sackgasse zu landen.

Vielen Dank für eure Einschätzungen!

CPP, künstliche Intelligenz, Programmiersprache, Python, Qt Creator

Wie kann ich mit C++ Textdateien in einem Container speichern?

Ich habe ein Problem mit meinem Programm. Ich möchte eine Textdatei in meinem selbst definierten Container speichern, doch Ich weiß nicht, wo das Problem ist.

#include <iostream>
#include <filesystem>
#include <vector>
#include <string>
#include <fstream>
#include <algorithm>

using namespace std;

template <typename Template>
class Container {
  private:
    Template* Eigenschaft1;
    size_t Größe;
    size_t Speichergröße;
  public:
    Container(size_t ContainerGröße = 10000) : Größe(0), Speichergröße(ContainerGröße) {
      Eigenschaft1 = new Template[Speichergröße];
    }

    void Speichern(const Template& Wert) {
      for (int i = 0; i < Größe; i++) {
        Eigenschaft1[Größe++] = Wert;
      }
    }
};

class Personal {
  private:
    string Name;
    string Position;
    int Alter;
    double Gehalt;
  public:
    Personal();

    void Speicherung(string Name, string Position, int Alter, double Gehalt, Container<ofstream>& Container);

    void Ausgabe();

    void Hinzufügen(Container<ofstream>& Container);
};

Personal::Personal() {
  Name = Name;
  Position = Position;
  Alter = Alter;
  Gehalt = Gehalt;
}

void Personal::Speicherung(string Name, string Position, int Alter, double Gehalt, Container<ofstream>& Container) {
  string Entscheidung;
  ofstream Datei1("Datei.csv");
  Datei1 << "Name: " << Name << endl;
  Datei1 << "Position" << Position << endl;
  Datei1 << "Alter: " << Alter << endl;
  Datei1 << "Gehalt: " << Gehalt << endl;

  cout << "M\u00F6chten sie die Person speichern: ";

  if (Entscheidung == "Ja") {
    Container.Speichern(Datei1);
  }
  else if (Entscheidung == "Nein") {
  }
}

void Personal::Ausgabe() {
  ifstream Datei1("Datei.csv");
  getline(Datei1, Name);
  Datei1 >> Position;
  Datei1 >> Alter;
  Datei1 >> Gehalt;
  cout << "Name: " << Name << endl;
  cout << "Alter: " << Alter << endl;
  cout << "Beruf: " << Position << endl;
  cout << "Gehalt: " << Gehalt << endl;
}

void Personal::Hinzufügen(Container<ofstream>& Container) {
  Personal P;
  cout << "Bitte geben side den Namen ein: ";
  cin >> P.Name;
  cout << "Bitte geben sie den Beruf an: ";
  cin >> P.Position;
  cout << "Bitte geben sie das Alter der Person an: ";
  cin >> P.Alter;
  cout << "Bitte geben sie das Gehalt der Person an: ";
  cin >> P.Gehalt;
  Speicherung(P.Name, P.Position, P.Alter, P.Gehalt, Container);
}

template <typename T>
int main() {
  string Passwort1 { "Erfolg1234" };
  string Passwort2;
  Container<ofstream> Container;
  Personal P;
  int Entscheidung;
  cout << "Geben sie das Passwort ein: ";
  cin >> Passwort2;

  if (Passwort2 == Passwort1) {
    cout << "Wollen sie eine neue Position hinzufügen (1)" << endl;
    cout << "Wollen sie auf eine Position zugreifen (2)" << endl;
    cin >> Entscheidung;

    if (Entscheidung == 1) {
      P.Hinzufügen(Container);
    }
    else if (Entscheidung == 2) {
      P.Ausgabe();
    }
  }
  else {
    cout << "Falsches Passwort" << endl;
  }
}
Cplusplus, Code, CPP, Programmiersprache, Visual Studio

C++ - "Funktion nimmt keine 0 Argumente." Behebung?

Schönen guten Abend!

Das Problem ist etwas anders als in der Frage, jedoch ist es für mich schwer dies in einem Satz zu erklären. Nun erstmal mein C++ Quellcode zum Verständnis:

#include <iostream>


int numbCount(int count);


int main()
{
	int num1 = numbCount();
	int num2 = numbCount(2);

  ...

}
  
  int numbCount(int count = 1) 
  {
  	int userNumb;
  	std::cout << "Please enter the " << count << ". integer: ";
  	std::cin >> userNumb;
  
  
  	return userNumb;
  }

Also, wie man sehen kann hat meine Funktion numbCount() Parameter. Außerdem bevorzuge ich es die Funktionsdefinition unter der Main() Funktion zu schreiben.

int numbCount(int count);

int main()
{
...
}

int numbCount(int count = 1)
{
...
}

Somit muss ich die Funktionsdeklaration über der Main() Funktion "erwähnen", damit ja der Compiler weiß, dass die Definition noch kommt. Dies scheint in diesem Fall bei einer Funktion mit Standardparameter für VS ein Problem darzustellen - Fehler "numbCount: function does not take 0 arguments".

Wenn ich jedoch die Funktionsdefinition von "numbCount()" über die Main() Funktion packe, funktioniert alles normal.

int numbCount(int count = 1)
{
...
}

int main()
{
...
}

Habe bereits versucht den Parameter in der "erwähnten" Funktionsdeklaration zwischen den runden Klammern ebenfalls einzufügen, also

int numbCount(int count = 1);

jedoch kommt dann der Fehler 'numbCount': redefinition of default argument: parameter 1

FRAGE:
Gibt es eine Möglichkeit in einer Funktion Standardparamter (also wenn kein Wert in Funktionsaufruf zwischen Klammern angegeben -> standardm. Wert 1) zu haben aber trotzdem die Funktionsdefinition unter der Main() Funktion zu belassen?

int numbCount(int count);

int main()
{
    int num1 = numbCount(); // Kein Wert angegeben - Std. Wert 1
    int num2 = numbCount(2);
}

int numbCount(int count = 1)
{
...
}

Vielen Dank und einen schönen Abend! :)

Computer, Software, Programm, programmieren, Anwendung, Funktion, Cplusplus, Anwendungsentwicklung, Argumente, Code, CPP, Fehlerbehebung, fehlercode, Programmiersprache, Softwareentwicklung, Visual Studio, Fehlermeldung, Parameter

Welche Programmiersprache nach javascript?

ich hab eine lange zeit nichts anderes als javascript gemacht darunter ist auch Typescript und react und vieles mehr und klar man kann noch mehr lernen. Php kann ich ausreichend fürs backend.

aber immer auf den Browser beschränkt zu sein und websites macht auf Dauer keinen spass. Ich will auch in der lage sein desktop programme zu schreiben.
electron js kann das aber ist auch nicht das beste was man nutzen kann und sobalds aufwendiger wird hat man Probleme und riesige Dateien. Man lernt auch nichts neues dadurch das ist nichts für mich.

c# c++ c java oder rust hatte ich im kopf.

(python syntax gefällt mir auch nicht , mir geht es auch ums lernen. Nicht nur mit pip install irgendwas nutzen von jemand anderes. Am ende hast du keine ahnung von der programmierung)

aber wie weiss ich welches der oben genannten Sprachen eher was für mich ist.

Java ist Typescript sehr ähnlich, läuft überall und ich könnte da schnell zurechtkommen aber dafür ist es deutlich langsamer als C++ und nicht so mächtig.

Mit c++ lernst du auch viel und wird oft in Unis oder Schulen gelehrt, hätte damit einen vorteil wenn ich es schon gut kann.
Rust hat einen kleinen hype und viele meinen es wird in zukunft wichtiger werden = mehr jobs.

c# ist soweit ich weiss
nur für windows Anwendungen gut, mit den anderen sprachen könnte man auch in zukunft was für linux machen wenn man lust drauf hat.

ich seh da keinen grossartigen vorteil zu java oder c++ in der schnelligkeit.

Computer, Microsoft, App, IT, Webseite, Java, JavaScript, compiler, Cplusplus, C Sharp, CPP, Informatik, Oracle, Programmiersprache, Python, sdk, C (Programmiersprache), React, Angular

Programmieren lernen ohne Schulabschluss?

Moin kurz zu mir und mein wissen: Ich lerne momentan sehr stark die c++ basics(ich tu mich realitv schwer) Aber kann sie ansich schon gut also das hauptkonzept von Sprachen ansich usw.

Und ich bin 17 Jahre alt.

Zu meiner frage, es sind letztendlich 2 in einer.

Ich habe mein zukunftsgang etwas verbaut indem ich nichtmal ein Hauptschulabschluss in der Tasche habe, dennoch stelle ich mir die frage ob ich in irgendeine schule gehen kann die Computer Science lehrt. Und jemanden auch aufnimmt ohne einen Abschluss. Möglicherweise sogar ein Studiengang.

Und die andere frage ist: Ich lerne ja momentan schon c++ über einen Udemy kurs (Ich erwarte nicht das ich dannach der Superhero in der Programmierung bin, wäre ja auch quatsch). Dennoch stellt sich bei mir die frage, dieser kurs Beinhaltet wirklich nur die Basics, Und ich frage mich wo kann ich den dann wirklich gut werden? Alle kurse die ich bis jetzt gesehen habe handeln um die Basics von der Programmierung undnicht um Irgendein Advanced level.

DIE ZWEI FRAGEN IN KURZFORM:

  1. Kann ich auch ohne jeglichen Schulabschluss in eine Schule gehen die Computer Science lehrt, Oder möglicherweise ein Studiengang (Fernstudium) für mich in Aussicht möglich wäre.
  2. Kann ich im selbstlehrenden ein sehr guter Programmierer werden? Wenn ja wo. den wie oben schon erläutert finde ich nur Online Kurse/Websiten die nur die Basics in anspruch nehmen.
Lernen, Bildung, CPP, Programmiersprache, Studiengang

Compiler MinGw64/g++ in/für C++ in Visual Studio Code?

Hey,

ich finde es es ziemlich verwirrend mit dem Compiler und dem g++ für/in C++ in VS Code.

Also im Prinzip will ich einfach nur ein simples GTA5-Single-Playerskript in C++ machen, welches am Ende aber keine .lua sondern eine .dll- oder eine .asi-Datei sein soll. Wie muss ich denn jetzt vorgehen?

Ich habe schon etwas von komprimieren (oder so) der .cpp-Datei gehört, irgendwas mit g++ und MinGw64. Ich habe selber noch nicht viel Ahnung davon und habe so etwas bis jetzt nur scheiternd versucht.

Deswegen diese Frage: Was muss ich jetzt genau in VS Code und auf meinem PC (Windows 11) installieren und vor allem wenn es wirklich etwas mit diesem MinGw64 zu tun hat, welche Version/Ausführung und was ist mit dem g++ und so weiter?

(g++ soll wohl ein Befehl im Terminal von VS Code sein und MinGw64 ein Compiler soweit ich das gehört habe)

Ach ja, um das gleich mit zu verpacken: Wenn ich die Erweiterung C/C++ in VS Code installiere und dann Code mit z.B.

#include <windows.h >

schreibe, markiert mir das VS Code als Fehler und redet was von IncludePath. Es wäre nett, wenn mir noch jemand verrät, was es damit auf sich hat und wie ich den Fehler beheben kann (es soll wohl auch etwas mit dem Compiler/MinGw64 zutun haben, soweit ich das gehört habe).

Zusammengefasst würde ich einfach nur gerne Klarheit von Leuten haben (die sich damit auskennen), was ich jetzt brauche, für was etwas ist, um am Ende ein kleines GTA5-Skript erstellen zu können, das in .dll oder .asi herauskommt.

Danke schon einmal im Voraus!

programmieren, compiler, Cplusplus, CPP, Programmiersprache, dll-datei, Visual Studio Code

Meistgelesene Beiträge zum Thema CPP