In diesem Video widmen wir uns dem PushButton (QPushButton) und den unterschiedlichen Funktionen.
Ich gehe ein auf folgende PushButtons:
- Einfacher PushButton
- Checkable PushButton (Toggle PushButton)
- Repeat PushButton
- Default PushButton
In diesem Video widmen wir uns dem PushButton (QPushButton) und den unterschiedlichen Funktionen.
Ich gehe ein auf folgende PushButtons:
Immer wieder lese ich zur Zeit, dass Programmierer den QtCreator für eine der schlechtesten IDEs überhaupt halten. Ich konnte das bisher nicht nachvollziehen, bis auf Kleinigkeinten finde ich, dass QtCreator eine recht gut IDE ist.
Ich muss durchaus zugeben, dass ich eher die Kommandozeile (Shell), make oder gmake und vor allem einen vernünftigen Editor – VIM – bevorzuge, um zu entwickeln. Zumindest habe ich das so über Jahre hinweg recht erfolgreich gemacht. Doch neben meinem liebsten Editor kenne ich auch andere Editoren, Pseudo-IDEs (Visual Studio Code zum Beispiel) und einige IDEs (Visual Studio, Eclipse, Netbeans, IntelliJ IDEA, Clion, Delphi, Lazarus, Anjuta, KDevelop, Code::Blocks und was weiß ich, was noch). Die beiden verschrienen IDEs gefallen mir komischerweise am besten: QtCreator und Lazarus IDE.
Warum ist das so? Nehmen wir einmal Visual Studio. Bis das Ding gestartet ist, bis ich ein Projekt angelegt oder, schlimmer noch, geladen habe, dauert es ewig bis drei Tage. Danach ist alles so träge und nervig, die Vorkonfiguration kaum zu benutzen, das Einrückverhalten eine Katastrophe und der Editor eine Art Notepad im modernen Gewand. Gut, das ist jetzt übertrieben. Die Editoren leisten schon eine Menge mehr, als Notepad, allerdings halte ich sie, zumindest in der Standardkonfiguration, für unbenutzbar. Tatsächlich ist das bei QtCreator und Lazarus nicht anders. Vergleicht man die Editoren mit modernen Dinosauriern wie VIM, dann merkt man schnell, was effizient ist und was pseudoeffizient ist.
Dann kommen die ganzen Automatismen, die Automagic dazu. All das nervt mich oftmals, denn tauchen Probleme auf, sind sie oftmals nur schwer behebbar, denn man kennt die Automagic dahinter ja nicht und dann nehmen einem diese Systeme nicht Arbeit ab, sondern machen noch viel mehr.
Natürlich sind die integrierten Debugger toll, auch, dass Referenzenzähler mit drin sind, man im Code hin und her springen kann usw. Aber sie lahmen oftmals so sehr, dass ich meinen Gedankenfluss andauernd unterbrechen muss, warten muss oder irgendwas abstürzt.
QtCreator kann nicht viel. Es handelt sich um einen „schlechten“ Editor mit Projektmanagement, GUI-Designer und ein paar Nettigkeiten wie integriertem Debugger. Die Sache ist schon komplexer, aber wenn man es herunterbricht, bleibt eine nicht so hochkomplexe IDE, die sich angenehm betreiben lässt. Denn sie unterstützt mich, macht Automatismen oder sichtbar und einfach handlebar. Genau das ist für mich wichtig: zumeist, nicht immer, weiß ich, was passiert und kann auch händisch recht problemfrei eingreifen. Dabei kann ich aber auch im Code herumspringen, Fenster splitten, den grafischen Debugger starten und Kompilierszenarien auswählen. Mir gefällt das sehr und ich empfinde QtCreator tatsächlich als eine IDE, mit der ich gerne arbeite, auch wenn sie Schwächen hat (Editor – das Problem haben aber alle IDEs, die ich kenne, Refactoring ist nicht schön, Automatismen wie Getter/Setter erstellen sind nicht vorhanden, usw.). Ich finde es schade, dass die IDE so zerissen wird. Das selbe bei Lazarus. Ich finde die IDE schön aufgeräumt und einfach in der Nutzung. Darin liegt für mich die Mächtigkeit des Systems.
Doch freue ich mich auch immer wieder, wenn ich auf der Shell und mit VIM arbeiten kann.
In diesen ca. 20 Minuten machen wir einiges. Wir laden das Logo der Firma im Firmeneintrag und zeigen es an. Dann implementieren wir noch die Funktion, dass man aus der Firmenmaske die Firma direkt auf der compow-Website anzeigen kann und wir machen die Ausgabetabelle der Firmen sortierbar.
Und so sieht es (auf macOS) aus:
Diese Woche wird es erstmal kein Video geben, da zu viel los ist und alle hier kränkeln. Aber was kommt als nächstes?
Nunja, ohne Video werde ich als erstes die Anzeigemaske für die Firmen erstellen, denn das ist langweilige Fließbandarbeit. Danach werden wir uns gemeinsam ansehen, wie wir das Logo-Bild der einelnen Firmen, welches Base64-encoded in der SQLite-Datenbank liegt, in der Firmenmaske anzeigen können. Vielleicht bauen wir es auch in die Ergebnisliste mit ein.
Dann brauchen wir noch etliche weitere Teile:
Ich denke, wir werden uns dann nächste Woche damit beschäftigen. Bis dahin hoffe ich, dass ich die Firmenmaske fertig bekomme, wonach es zur Zeit aber nicht aussieht.
In diesem Video geht es darum, eine Firma zu öffnen und die Suche abzubrechen.
Und so sieht unser Fortschritt aus:
In Teil 5 geht es darum, Firmen in der Ergebnisliste anzuzeigen.
Ok, wir sind immer noch nicht gestartet. Ich meine, mit dem Programmieren. Wir richten noch ein. Das soll erstmal das letzte Einrichtungsvideo sein. Hier geht es darum, wie wir die Serverkomponente entwickeln wollen. Ich installiere dazu Qt sowie QtCreator in einem Jail auf FreeBSD und nutze es via SSH und X11-Forwarding. Wie das geht, zeige ich in diesem Video.
Innerhalb unseres KooKooK-Jails installieren wir qtcreator, qt5 und xauth, schalten SSH frei und probieren aus, ob und wie gut es funktioniert.
Im vierten Teil geht es darum, die einfach Suchabfrage zur Findung von Firmen zu schreiben und via QSqlQuery auszulesen.
Im dritten Teil, dem ich mich der Entwicklung widme, geht es schon ein wenig um die Firmen, die wir auslesen wollen. Wir schauen uns zuerst einmal an, wie wir an die selektierten Branchen kommen und schreiben uns einen Typ, der die IDs dieser beinhaltet.
Im zweiten Teil unserer Videoreihe „Entwicklung einer Desktopsoftware für compow mit C++, Qt und SQLite“ geht es darum, Typen für die Branchen zu entwickeln sowie eine Bibliothek, um die Branchen aus der Datenbank in einer Liste zu speichern und einer ListBox anzuzeigen.