Neues YouTube-Video – Qt-Tutorial 003: Installation auf Windows

Es gibt wieder ein neues Video. Hierin zeige ich, wie du Qt inklusive QtCreator auf Windows installieren kannst.

Qt-Tutorial 003: Installation auf Windows

Um mit Qt zu beginnen, musst du das Framework auf deinem Rechner installieren. Das ist recht einfach und du kannst die Schritte, wie ich sie im Video zeige, einfach nach- oder mitmachen.

Die Installation ist super einfach. Auf https://qt.io lädt man das Installationsprogramm herunter und führt es aus. Dann gibt man seine zuvor erstellten Daten ein, wählte die benötigten Pakete, gönnt sich einen Tee und, je nach Internetgeschwindigkeit, ist Qt dann innerhalb kurzer Zeit installiert.

Neues YouTube-Video – Qt-Tutorial 001: Vorstellung

Ich habe ein neues Video hochgeladen. In meinem Qt-Tutorial geht es darum, das Framework kennenzulernen und damit zu arbeiten.

Qt-Tutorial 001: Vorstellung

In diesem Video gehe darauf ein, was wir mit Qt in diesem Tutorial machen werden.

Nur kurz zusammengefasst: Bei Qt handelt es sich um ein Anwendungsframework und eine GUI-Bibliothek, sprich, man kann einfach Software in C++ (und anderen Programmiersprachen) schreiben, die auch über eine grafische Benutzeroberfläche verfügen.

Qt gibt es für etliche Betriebssystem. Neben Windows, macOS und Linux gibt es auch (teils inoffizielle Builds) für bsplw. Haiku und FreeBSD und andere.

Zusätzlich zur GUI-Bibliothekt gibt es aber auch viele weiter Abstraktionen wie Netzwerk, Multimedia, Datenbanken und vieles mehr.

In diesem Tutorial geht es um folgende Dinge:

  • Erstellung eines kostenlosen Kontos auf https://qt.io, um die Installation aus den offiziellen Quellen durchzuführen
  • Installation von Qt auf
    • Windows
    • macOS
    • Linux
  • GUI-Entwicklung
  • Netzwerk-Entwicklung (Sockets)
  • Datenbankanbindung

Alles andere lasse ich in diesem Tutorial aber zuerst aus, sprich, ich gehe weder auf Multimediaentwicklung (Kameraansteuerung, Mikrofon und ähnliches), QML, Entwicklung für mobile Endgeräte und Embedded-Entwicklung ein.

Viel Spaß beim Zusehen.

Mein YouTube-Kanal

Ich habe es getan, ich habe es wirklich getan. Nachdem manche meinten, ich solle einen YouTube-Kanal aufmachen, und ich immer sagte: “Ich kann sowas nicht, ich kann ja nichtmal vernünftig frei reden.” und mir gesagt wurde: “Jeder hat mal klein angefangen, da wächst du schon hinein.” habe ich für mich beschlossen, ich beginne mal einfach und schaue, was daraus wird.

Ich habe bereits ein paar Videos vorproduziert. Natürlich, wie ich auch erwartet habe, sind sie noch schrecklich. Wenn ich aber nicht anfange und einfach mache, dann kann ich natürlich auch nicht besser werden. Also seid ein wenig nachsichtig (:

Ich werde mit drei, vielleicht vier, Sparten beginnen:

  • Softwareentwicklung mit Qt
  • FreeBSD
  • Kurztipps
  • und, vielleicht etwas später, macOS-Administration im Netzwerk mit Deployment und vielem mehr

Hier geht es zu meinem YouTube-Kanal: Thorsten Geppert

wxWidgets-Entwicklung mit dem QtCreator (zumindest auf macOS, Linux und FreeBSD)

Es ist kaum zu glauben, aber bis vor einer kurzen Zeit benutzte ich keine IDE. Oftmals entwickle ich immer noch gerne ohne IDE, doch für Qt nehme ich QtCreator und ich finde die IDE ganz “nett”. Ich kenne etliche Systeme, und keins gefällt mir tatsächlich so gut wie QtCreator, außer NetBeans für Java vielleicht. Damit bin ich aber vermutlich allein (:

Ich wollte einmal wissen, wie hoch der Aufwand ist, wxWidgets in QtCreator einzubinden. Es ist sehr einfach. Wie es geht, zeigt dieser Artikel.

wxWidgets nutzt auf unixoiden System “wx-config” als Kommandozeilenkonfigurationswerkzeug. Das bedeutet, dass man einfach in seinen Compileraufruf “wx-config” einbaut. Ein einfaches Beispiel könnte:

# c++ *.cpp -o test `wx-config --libs --cppflags`

sein.

Also einfach mal den QtCreator starten und ein neues Konsolenprojekt erstellen. In der Projektdatei (*.pro) dann folgende Zeilen hinzufügen:

INCLUDEPATH += /usr/local/wxWidgets/include/wx-3.0
wxCXXFLAGS = $$system(/usr/local/wxWidgets/bin/wx-config --cxxflags --unicode=yes --debug=no)
wxLinkOptions = $$system(/usr/local/wxWidgets/bin/wx-config --debug=no --libs --unicode=yes)
LIBS += $$wxLinkOptions
QMAKE_CXXFLAGS_RELEASE += $$wxCXXFLAGS
QMAKE_CXXFLAGS_DEBUG += $$wxCXXFLAGS

Es ist natürlich darauf zu achten, dass der Pfad für wx-config sowie der Includepfad stimmen und angepasst werden.

Jetzt ist es möglich, einfach sein wxWidgets-Programm zu schreiben und mit Klick auf den Play-Button zu kompilieren und zu starten.

Hier noch ein kleines wxWidgets-C++-Beispiel:

#include <wx/wx.h>

class MyApp : public wxApp {

	public:
		bool OnInit();

};

IMPLEMENT_APP(MyApp)

class MyFrame : public wxFrame {

	public:
		MyFrame();
	
	private:
		enum {
			HELLO_WORLD_BUTTON
		};
	
		wxPanel *mainPanel;
		wxBoxSizer *mainBoxSizer;
		wxButton *helloWorldButton;
		wxTextCtrl *helloWorldTextCtrl;
	
	protected:
		DECLARE_EVENT_TABLE()
		
		void HelloWorldEvent(wxCommandEvent &WXUNUSED(event));

};

bool MyApp::OnInit() {
	MyFrame *f = new MyFrame;
	f->Show();
	SetTopWindow(f);
	return true;
}

wxBEGIN_EVENT_TABLE(MyFrame, wxFrame)
	EVT_BUTTON(HELLO_WORLD_BUTTON, MyFrame::HelloWorldEvent)
wxEND_EVENT_TABLE()

MyFrame::MyFrame() : wxFrame(NULL, -1, _("Hello World")) {
	mainPanel = new wxPanel(this, -1);
	mainBoxSizer = new wxBoxSizer(wxHORIZONTAL);
	
	helloWorldButton = new wxButton(mainPanel, HELLO_WORLD_BUTTON, _("Say Hello World"));
	mainBoxSizer->Add(helloWorldButton);
	
	mainBoxSizer->AddSpacer(5);
	
	helloWorldTextCtrl = new wxTextCtrl(mainPanel, -1);
	mainBoxSizer->Add(helloWorldTextCtrl);
	
	mainPanel->SetSizer(mainBoxSizer);
	mainBoxSizer->SetSizeHints(this);
}

void MyFrame::HelloWorldEvent(wxCommandEvent &WXUNUSED(event)) {
	helloWorldTextCtrl->SetValue(_("Hello World"));
}