Warum nicht Qt Creator?

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Alfons Mittelmeyer
User
Beiträge: 1715
Registriert: Freitag 31. Juli 2015, 13:34

Ich habe hier schon des öfteren gelesen, dass man den Qt Designer nehmen soll und den Qt Creator nicht. Warum das?
BlackJack

@Alfons Mittelmeyer: Was willst Du denn machen? Eine GUI grafisch entwerfen oder ein C++-Programm schreiben? Je nach dem nimmt man dann halt das eine oder das andere.
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Der Creator hat auch eine Moeglichkeit den Designer zu starten (oder benutzt denselben Code, ist ja alles Qt). Das ist aber finde ich eher aetzend geloest, weil es die nutzbare Flaeche viel kleiner macht - denn die ganzen Projekt-Zonen drumrum bleiben bestehen.

Genauso wie bei Xcode, als die den InterfaceBuilder eingebaut haben. War vorher besser.
Alfons Mittelmeyer
User
Beiträge: 1715
Registriert: Freitag 31. Juli 2015, 13:34

__deets__ hat geschrieben:Der Creator hat auch eine Moeglichkeit den Designer zu starten (oder benutzt denselben Code, ist ja alles Qt). Das ist aber finde ich eher aetzend geloest, weil es die nutzbare Flaeche viel kleiner macht - denn die ganzen Projekt-Zonen drumrum bleiben bestehen.
Aber man kann dann statt diesen XML Files auch QML verwenden.
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das hat aber nix mit dem Designer zu tun. Und auch nicht mit dem Creator (ich arbeite beruflich mit QML, den Creator benutzt hier niemand).

QML ist nochmal seine komplett eigene Welt. Vielleicht findet die mal Eingang in den Designer, aber akut ist es das nicht.
Alfons Mittelmeyer
User
Beiträge: 1715
Registriert: Freitag 31. Juli 2015, 13:34

__deets__ hat geschrieben:Das hat aber nix mit dem Designer zu tun. Und auch nicht mit dem Creator (ich arbeite beruflich mit QML, den Creator benutzt hier niemand).

QML ist nochmal seine komplett eigene Welt. Vielleicht findet die mal Eingang in den Designer, aber akut ist es das nicht.
Ich habe mich bis jetzt noch nicht bzw. noch kaum mit Qt beschäftigt. Aber weder mit dem Qt Designer noch mit dem Qt Creator komme ich recht zurecht. Da mache ich etwa eine Combobox und mache Texteinträge. Aber wenn ich dann im Qt Designer oder Qt Creator dann auf die Combobox drücke, dann tut sie nichts. Das heißt sie geht nicht auf und zeigt nicht meine Einträge. Müßte ich da irgend etwas Besonderes auswählen, damit sie das tut?
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

@Alfons Mittelmeyer:

QtCreator ist super als IDE für C++ basierte Qt-Projekte inklusive Buildumgebung. Dann aber eher old-school ohne QML, QML sucks big time in QtCreator. Für Python ist QtCreator eher ungeeignet, da es keine goodies für typische Pythonentwicklungsaufgaben mitbringt. Der Pythonsupport geht nicht über Editor-Highlightning hinaus.
Alfons Mittelmeyer
User
Beiträge: 1715
Registriert: Freitag 31. Juli 2015, 13:34

jerch hat geschrieben:Für Python ist QtCreator eher ungeeignet, da es keine goodies für typische Pythonentwicklungsaufgaben mitbringt. Der Pythonsupport geht nicht über Editor-Highlightning hinaus.
Ich hatte aber gesehen, dass es keineswegs so ist, dass man in Python eine QML Anwendung startet und das war es. Sondern dass es doch Interfaces zu Python gibt.

Hiedr etwa wird in 'Ausgabe über Python und PyQt5' auf QML Widgets in Python zugegriffen. Müßte dann wohl auch Callback Anbinding möglich sein: http://vibora.de/2016/12/kleine-einfueh ... d-qml.html

In QML kann man auch Javascript Code mit reinschreiben, Python Code natürlich nicht. Woanders kann man das aber genauso wenig.

Und dennoch scheint es gar ein Interface von Javascript zu Python geben, sodass man sogar in das QML File eine Python Anbindung reinschreiben kann. Hier werden dann sogar Python Funktionen oder Methoden von Javascript aus aufgerufen;
https://wiki.python.org/moin/PyQt/QML%2 ... 20function
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

@Alfons Mittelmeyer:
Und was hat das jetzt mit der Benutzbarkeit des QtCreators für Pythonprojekte zu tun?
Alfons Mittelmeyer
User
Beiträge: 1715
Registriert: Freitag 31. Juli 2015, 13:34

jerch hat geschrieben:@Alfons Mittelmeyer:
Und was hat das jetzt mit der Benutzbarkeit des QtCreators für Pythonprojekte zu tun?
Wenn es über QML diverse Schnittstellen zu Python gibt, dann ist der Qt Creator doch gut für Python Projekte einsetzbar, oder nicht?
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

@Alfons Mittelmeyer:

Logik 6 setzen.

Gegeben:
jerch hat geschrieben:... QML sucks big time in QtCreator. ...
jerch hat geschrieben:Für Python ist QtCreator eher ungeeignet, da es keine goodies für typische Pythonentwicklungsaufgaben mitbringt. Der Pythonsupport geht nicht über Editor-Highlightning hinaus.
Daraus liest Du:
Alfons Mittelmeyer hat geschrieben:Wenn es über QML diverse Schnittstellen zu Python gibt, dann ist der Qt Creator doch gut für Python Projekte einsetzbar, oder nicht?
Ehm eher Letzteres - also "oder nicht".
Alfons Mittelmeyer
User
Beiträge: 1715
Registriert: Freitag 31. Juli 2015, 13:34

jerch hat geschrieben:@Alfons Mittelmeyer:

Logik 6 setzen.

Gegeben:
jerch hat geschrieben:... QML sucks big time in QtCreator. ...
Meinst Du damit, dass die QML option im QtCreator etwas lahm ist. Ist sie in der Tat. Das muss aber nicht heißen, dass dann auch QML lahm ist. Oder weißt Du ein besseres Tool für QML?
jerch hat geschrieben:Für Python ist QtCreator eher ungeeignet, da es keine goodies für typische Pythonentwicklungsaufgaben mitbringt. Der Pythonsupport geht nicht über Editor-Highlightning hinaus.
Also Zugriff über Widget IDs gibt es doch. QtPython und ist aber mit den XML Files besser integriert, weil da gleich Attribute erzeugt werden.

Aber Goodies gibt es doch, das sind die Javascript nach Python Schnittstellen.

Und dann ist da noch, dass man GUI Logik und Geschäftslogik sehr gut trennen kann. So kann man etwa die GUI Logik unabhängig von der Programmiersprache der Geschäftslogik schreiben. Die GUI Logik kann man in Javascript schreiben und die Geschäftslogik in Python.

Daraus liest Du:
Alfons Mittelmeyer hat geschrieben:Wenn es über QML diverse Schnittstellen zu Python gibt, dann ist der Qt Creator doch gut für Python Projekte einsetzbar, oder nicht?
Ehm eher Letzteres - also "oder nicht".
Nö, daraus lese ich das nicht.
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Alfons Mittelmeyer hat geschrieben:
jerch hat geschrieben:Für Python ist QtCreator eher ungeeignet, da es keine goodies für typische Pythonentwicklungsaufgaben mitbringt. Der Pythonsupport geht nicht über Editor-Highlightning hinaus.
Ich hatte aber gesehen, dass es keineswegs so ist, dass man in Python eine QML Anwendung startet und das war es. Sondern dass es doch Interfaces zu Python gibt.

Hiedr etwa wird in 'Ausgabe über Python und PyQt5' auf QML Widgets in Python zugegriffen. Müßte dann wohl auch Callback Anbinding möglich sein: http://vibora.de/2016/12/kleine-einfueh ... d-qml.html

In QML kann man auch Javascript Code mit reinschreiben, Python Code natürlich nicht. Woanders kann man das aber genauso wenig.

Und dennoch scheint es gar ein Interface von Javascript zu Python geben, sodass man sogar in das QML File eine Python Anbindung reinschreiben kann. Hier werden dann sogar Python Funktionen oder Methoden von Javascript aus aufgerufen;
https://wiki.python.org/moin/PyQt/QML%2 ... 20function
Und was hat Python und QML Integration mit dem Creator zu tun? Nichts.

Creator ist eine IDE. Die hat Vorteile beim arbeiten mit Qt im allgemeinen, und ggf. auch mit QML. Mit Python hat sie aber gerade mal gar nix zu tun, und QML als auch C++ und Python kann man genauso gut mit Emacs bearbeiten.
Alfons Mittelmeyer
User
Beiträge: 1715
Registriert: Freitag 31. Juli 2015, 13:34

__deets__ hat geschrieben:Creator ist eine IDE. Die hat Vorteile beim arbeiten mit Qt im allgemeinen, und ggf. auch mit QML. Mit Python hat sie aber gerade mal gar nix zu tun, und QML als auch C++ und Python kann man genauso gut mit Emacs bearbeiten.
Und was soll jetzt das für eine Logik sein? Dann hat der Qt Designer ja auch nichts mit Python zu tun. Denn der erzeugt XML Dateien. Und die kann man ja auch mit jedem Editor schreiben. Wolltest Du das sagen?
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Alfons Mittelmeyer hat geschrieben:
__deets__ hat geschrieben:Creator ist eine IDE. Die hat Vorteile beim arbeiten mit Qt im allgemeinen, und ggf. auch mit QML. Mit Python hat sie aber gerade mal gar nix zu tun, und QML als auch C++ und Python kann man genauso gut mit Emacs bearbeiten.
Und was soll jetzt das für eine Logik sein? Dann hat der Qt Designer ja auch nichts mit Python zu tun. Denn der erzeugt XML Dateien. Und die kann man ja auch mit jedem Editor schreiben. Wolltest Du das sagen?
Der Qt Designer hat auch nichts mit Python zu tun. Er hat was mit Qt zu tun. Und klar kann man das XML von Hand schreiben. Ist ne doofe Idee, weil der Designer einem gute Abstraktion bietet. Man kann übrigens auch tkinter nutzen ohne deinen GuiDesigne.

Das ist aber nicht der Punkt.

Du behauptest der Creator böte "Goodies für Python nach JavaScript Schnittstellen". Tut er halt nicht. Das hat auch jerch gesagt.

Meine Güte, benutz ihn wenn du willst. Ist mir völlig egal. Aber wenn du mit den Antworten auf deine Fragen nicht klarkommst, stell sie halt nicht. Im Gegensatz zu dir habe ich mit Qt, QML, PyQt und allen Formen der Integration dieser Technologien gearbeitet, und liefere Produkte aus die darauf basieren. Und aus dieser Erfahrung heraus sage ich auf deine Frage, das er keine Vorteile bietet im Zusammenhang mit Python.
Alfons Mittelmeyer
User
Beiträge: 1715
Registriert: Freitag 31. Juli 2015, 13:34

@ __Deets__: ja jetzt sind wir bei den Fakten, nämlich dass er keine Vorteile bietet im Zusammenhang mit nur Python. Denn Attribute zu haben ist besser als nach Widget IDs zu suchen. Und die Schnittstelle von Javascript nach Python bringt auch nichts, wenn man die GUI Logik nicht in Javascript programmiert. Aber es wird halt oft geschrieben, dass der Qt Creator gar nicht zu gebrauchen wäre.

Was ich eigentlich gesucht hatte, war, dass ich die GUI im Original im Designer oder Creator sehen könnte, dass also eine Combobox aufgehen würde, wenn ich draufdrücke. Aber das geht wohl da nicht, oder?
BlackJack

@Alfons Mittelmeyer: Wo wird oft geschrieben der Creator wäre gar nicht zu gebrauchen? Kann es sein das Du da wieder Aussagen irgendwo heraus liest die man so lesen *wollen* muss?

Doch man kann sich die GUI auch so anzeigen lassen das eine Combobox ausklappt wenn man darauf klickt. Dazu gibt's eine Vorschau unter „Form“ → „Preview…“.
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Alfons Mittelmeyer hat geschrieben:@ __Deets__: ja jetzt sind wir bei den Fakten, nämlich dass er keine Vorteile bietet im Zusammenhang mit nur Python. Denn Attribute zu haben ist besser als nach Widget IDs zu suchen. Und die Schnittstelle von Javascript nach Python bringt auch nichts, wenn man die GUI Logik nicht in Javascript programmiert
Deine spezielle Form der Logik ist ... faszinierend. Aus einer Aussage (Creator hat keine Vorteile beim Einsatz von Python) schlägst du begründungslos Brücken zu etwas, das gar nicht diskutiert wurde: IDs vs Attribute (was auch immer genau du damit meinst), und das die Schnittstelle von Python zu QML/JS nix bringt. Was riesen Humbug ist. Natürlich bringt die was. Das man zB Modelle für Views in Python schreiben kann. Oder Worker-Threads (kann JS nicht). Oder überhaupt mit Qt arbeiten (benutzt nämlich alles das Qt MetaModell). oder oder oder.

Hier bitte PipiLangstrumpf Titelsong denken. Den Teil mit der Welt wie sie gefällt.
Alfons Mittelmeyer
User
Beiträge: 1715
Registriert: Freitag 31. Juli 2015, 13:34

__deets__ hat geschrieben:und das die Schnittstelle von Python zu QML/JS nix bringt. Was riesen Humbug ist. Natürlich bringt die was. Das man zB Modelle für Views in Python schreiben kann. Oder Worker-Threads (kann JS nicht).
Also was ist jetzt, bringt diese Schnittstelle viel für Python oder für JS. zuerst wurde ja behauptet, dass der Qt Creator keine Vorteile bringt, zumindest nicht für Python.
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Nix ist jetzt. Der Creator ist eine IDE. Die kannst du sogar runterladen ohne Qt installiert zu haben. Die "Schnittstelle" und der Creator haben nichts miteinander zu tun. Insofern bist du hier auch nicht auf einen Widerspruch gestoßen.

Nochmal ganz langsam: du kannst Qt, Python (mit PyQt oder PySide als Bridge) und QML benutzen, um Programme zu entwickeln. Mit moderner, mächtiger GUI.

Und jetzt kommt der Knaller: den Creator musst du dabei nich nicht mal installiert haben! Er. Hat. Damit. Nix. Zu. Tun.
Antworten