welche programmiersprache für Programme benutzen?
-
nwp2 schrieb:
Bei QT will ich auch nach Button suchen, doch auf http://doc.trolltech.com/4.6/index.html scheint es keine Suche zu geben. Fein, dann halt auf http://qt.nokia.com/doc/4.7-snapshot/index.html. Es gibt eine Suche, aber wenn ich da was eintippe kommt eine JavaScript-Meldung und sagt Start Search. Das klingt so dämlich, davon hab ich einen Screenshot gemacht. Auch wenn ich enter oder Search klicke passiert nichts.
Naja, es gibt ja noch google, und schon findet man QPushButton::QPushButton ( const QString & text, QWidget * parent = 0 ).
Sieht aus als wäre es das was ich will. Parent ist wohl das Fenster wo der Button rein soll. Wie macht man aus einem QMainWindow ein QWidget? Und schon drehe ich mich wieder endlos im Kreis.
Ein Stück weit ist es meine Unerfahrenheit mit QT, aber für einen großen Teil mache ich die Vererbung der endlos vielen Klassen verantwortlich.Du kannst auch Assembler anstatt einer Hochsprache lernen, vielleicht brauchst du nicht so lange, um den vollen Funktionsumfang zu beherrschen, wirst halt längeren Code schreiben und länger zum Portieren brauchen.
Ich empfehle BÜCHER oder Tutorials oder selbst ausprobieren statt abschrecken lassen(hilft mehr)!
Zur Suche: http://qt.nokia.com/doc/4.6/classes.html -> Strg-F drücken, Button eingeben und sich den richtigen Button-Typ raussuchen.
Wem das zu viel ist, bitte melden.Zu QMainWindow: guckst du hier: http://qt.nokia.com/doc/4.6/qmainwindow.html ganz oben: Inherits QWidget -> gar nichts konvertieren. Hast du dich schon öfters mit C++ beschäftigt, weil du es so abschreckend findest?
-
Wie macht man aus einem QMainWindow ein QWidget?
Deine Probleme liegen nicht bei Qt. Du hast das Konzept Vererbung nicht verstanden. Du brauchst aus QMainWindow kein QWidget machen, es ist schon eins. Das verraet mir die Doku, also ein einfacher Klick auf All Classes -> QMainWindow.
The QMainWindow class provides a main application window. More...
#include <QMainWindow>
Inherits QWidget.Fein, dann erklär mir wie ich meine Linie malen soll. Devicecontexte braucht keiner, soweit geh ich mit. Aber irgendeine Möglichkeit eine maleLinie(int x1, int y1, int x2, int y2, struct farbe f)-Funktion zu implementieren muss es doch geben.
Das entsprechende Tutorial habe ich dir bereits verlinkt.
-
nwp2 schrieb:
Naja, es gibt ja noch google, und schon findet man QPushButton::QPushButton ( const QString & text, QWidget * parent = 0 ).
Sieht aus als wäre es das was ich will. Parent ist wohl das Fenster wo der Button rein soll. Wie macht man aus einem QMainWindow ein QWidget? Und schon drehe ich mich wieder endlos im Kreis.Für genau sowas gibt es eine Dokumentation. Und auf http://qt.nokia.com/doc/4.7-snapshot/qmainwindow.html steht gleich in der 5. Zeile: "Inherits QWidget". Also kannst du dein QMainWindow direkt an den QPushButton übergeben.
nwp2 schrieb:
... äh, wozu brauch man Device-Kontexte? Durch die Abstraktion muss man sich doch mit sowas dankenswerterweise nicht mehr rumschlagen.
Fein, dann erklär mir wie ich meine Linie malen soll. Devicecontexte braucht keiner, soweit geh ich mit. Aber irgendeine Möglichkeit eine maleLinie(int x1, int y1, int x2, int y2, struct farbe f)-Funktion zu implementieren muss es doch geben.
Im einfachsten Fall:
QPainter p(mainwindow); p.drawLine(x1, y1, x2, y2;
Das findest du aber unter "Graphics & Paint system" in der Doku (Link siehe ein paar Beiträge weiter oben).
PS: Den Fehler mit der Suche habe ich auch, es ist aber kein Aufwand, unter "All Classes" mit der Browser-Suchfunktion mal nach "Button" zu suchen.
-
nwp2 schrieb:
Wie macht man aus einem QMainWindow ein QWidget?
Tja, scheiße wenn man C++ nicht kann oder zu dumm ist die Dokumentation zu lesen.
Du verteufelst eine Bibliothek weil du zu inkompetent bist um sie zu benutzen.
Zeichnen in Qt ist übrigens kein Problem. Von QWidget ableiten und die Paint-Methode neu implementieren. Das hättest du gewusst, hättest du die Doku und Beispiele richtig gelesen.
-
Um mal etwas genauer zu sagen was ich eigentliche tue:
Das ganze wird am Ende eine Art IDE, wie Visual Studio oder Eclipse. Dafür brauche ich ein sehr erweitertes EditControl. Außerdem hantiere ich viel mit dem Text, sodass ich ihn eh in meiner Struktur habe. Es ist also unnötig, dass die GUI den Text nochmal speichert, geschweige denn sich die Farben merkt, die kann ich nämlich dynamisch generieren, außerdem ändern die sich häufig.
Der Editor unterstützt auch Folding, und damit man sieht wo geklappt wurde zeichne ich eine Linie zwischen die Zeilen wo eingeklappt wurde, ähnlich wie es Scite tut. Visual Studio tut es nicht, aber ich denke ihr wisst was ich meine.Die Funktionen die das Editcontrol malen und die Farben generieren und so weiter sind praktisch fertig und kosten keinen Aufwand mehr. Ich muss nur noch die Text- und Linienmal-Funktionen in irgendwas linuxverständlichem implementieren.
Der Editor hat aber auch ein Menü, Tabs und Scrollbars und so weiter, deshalb fallen DirectX, SDL und ähnliches aus (ich glaube die können keine Menüs, aber ich kann mich täuschen), ich habe keine Lust alles selbst zu malen.
Edit: Nu kommt mal wieder runter, es gibt schlimmeres als Jemanden der QT nicht versteht.
Ich habe Vererbung schon verstanden, ich benutze sie auch. Ich suche mich nur dumm und dämlich wenn ich durch die QT-Funktionen klicke.
Ich habe mich auch nicht allzu lange mit QT beschäftigt, wie gesagt, ich habe wohl zu früh aufgegeben.
-
Und das ist alles gar kein Problem mit Qt. Aber hey! Du bist Fail!
-
RUUUHE jetzt!
-
derdefeckter schrieb:
hallo,
kann ich mit c auch problemlos grafische programme erstellen also nicht nur als konsolenanwendung.
in c++ gabs bei mir irgendwie immer probleme bei der erstellung einer windows form anwendung
und java ja java bin ich auch nicht so für habt ihr denn noch andere vorschläge?
mfg derdefeckter
Bleib doch bei C++ , schau dir mal die Toolsets an.
Absolut Spitze ist MFC, gibt auch noch QT und WX und noch einige andere.
Bei der Auswahl solltest du am besten alle mal durchtesten und eine Mini Anwendung erstellen und schauen wo du mit am besten zurecht kommst.
Persönliche Meinung:
WXwidgets , Doku nicht so dolle , Installation ein Grauß , funktioniert aber.QT super Doku , mit dem QT Creator gar kein Prob bei der Instalation ( schicke funktionierende IDE ), funktioniert auch gut. Gibt auch Bücher dazu , sogar eines als Open Book in Englisch.
Was ich bisher nicht ergründen konnte wie sich das mit der LGPL und closed Source verhält. Kostenpunkt der komerziellen Lizen 3000.-. Eine eindeutige Aussage auf die man sich Berufen könnte gibt es nicht und die Formulierung in der Lizenz ist "schwammig"MFC Doku absolut Super, Installation easy ( Visual Studio ab Standart Edition), Umfang Gigantisch. Ein goßteil der Programme für MS ist in MFC geschrieben, so falsch liegt man damit nicht. Und ist auch im neuen Visual Studio wieder weiterentwickelt worden. Kosten Visual Studio 2008Standart Edition ca. 200.- . Es gibt auch eine 90 Tage Trial Version mit der man mal reinschnuppern kann.
Bietet auch gegenüber den anderen Toolsets dinge wie ATL und auch einfach Komunikation zum MS LDAP, welcher einem doch im AD des öfteren über den Weg läuft.
In der Professionell Edition gibt es noch den MS Server 2008 dazu und anderes, mit dem MS Server hat man eine der besten Umgebungen zum Entwickeln. Win 32 API, Posix API , BSD Posix version ( Unix Subsystem installieren und Unix Tools installieren ), da hat man dann eine C Shell , BSD Posix Shel und System 5 Posix Shell jeweils mit allen Shell Tools, VI , Dif, Grep und alles andere nach dem Posix Standart. Auch Kompiler für c und C++ in der Shell.MFC ist allerdings nur MS Entwicklung, da muß man schauen wie wichtig da Portierbarkeit ist , allerdings hat MS noch über 90 % Marktanteil im Clientbereich.
Winforms ist allerdings cli .net und nicht iso c++ , da muß man etwas umdenken bzw einen anderen Syntax verwenden oder gleich c# ( ich komme aber mit cli besser zurecht als mit c#, bzw mag ich an C# nicht das wenn ich eine Float verwende ein Präfix anhängen muß das ich wirklich eine Float verwende ^^. Und andere komische Dinge die mir "Krude" erscheinen )
-
nwp2 schrieb:
[...]Wie macht man aus einem QMainWindow ein QWidget? Und schon drehe ich mich wieder endlos im Kreis.[...]
Wärst du mal lieber maurer geworden...
Also Qt ist ohne frage die beste GUI-bibliothek (und Qt bringt ja auch eigentlich fast alles mit, was man sonst noch so braucht), die es für C++ gibt. Auch für C gibts nix besseres. Fakt.
-
MasterK schrieb:
Also Qt ist ohne frage die beste GUI-bibliothek (und Qt bringt ja auch eigentlich fast alles mit, was man sonst noch so braucht), die es für C++ gibt. Auch für C gibts nix besseres. Fakt.
QT für C? Soweit ich weiß ist QT in C++ geschrieben, dass macht es für ein C-Programm sehr umständlich damit zu arbeiten.
Laut wiki ist QT unter Duallizenz GPL/proprietär verfügbar, also nicht LGPL, damit muss man alles was man mit QT baut entweder unter die GPL stellen oder sich eine Lizenz kaufen.
Edit: "Seit der Version 4.3.1 vom 9. August 2007 räumt Trolltech Ausnahmen bei der durch die GPL lizenzierten Open-Source-Version ein, die es ermöglicht, Programme, die Qt benutzen, unter einer nicht-GPL-kompatiblen Lizenz zu veröffentlichen. Die akzeptierten Lizenzen sind namentlich in einer separaten Liste aufgeführt."
-
Er wollte sagen: Auch für C gibt es keine Bibliothek, die besser ist als Qt unter C++.
-
ipsec schrieb:
Er wollte sagen: Auch für C gibt es keine Bibliothek, die besser ist als Qt unter C++.
Wär auch irgendwie unlogisch, da C++ doch großteils eine Erweiterung von C ist.
-
nwp2 schrieb:
Ich nehme das über die Doku von QT zurück. Hab QT mit GTK verwechselt. QT hatte ich aufgegeben wegen c++. Das war wohl etwas vorschnell.
Seltsame Augen hast du:
http://www.gtk.org/documentation.htmlmdmr schrieb:
Absolut Spitze ist MFC, gibt auch noch QT und WX und noch einige andere.
MFC ist wohl so ziemlich das Letzte mit einem horror grässlichem C++.Grüssli
-
Dravere schrieb:
MFC ist wohl so ziemlich das Letzte mit einem horror grässlichem C++.
Unsinn. Du kannst wohl auch nur nachplappern, hast aber noch nie mit den MFC gearbeitet.
-
ms fanboy schrieb:
Dravere schrieb:
MFC ist wohl so ziemlich das Letzte mit einem horror grässlichem C++.
Unsinn. Du kannst wohl auch nur nachplappern, hast aber noch nie mit den MFC gearbeitet.
Ich habe mehrere Jahre mit der MFC gearbeitet. Muss leider immer noch Support leisten für Produkte, welche mit der MFC entwickelt wurden. Ich würde nur unter Zwang und Folter ein neues Produkt mit der MFC anfangen
Grüssli
-
ms fanboy schrieb:
Unsinn. Du kannst wohl auch nur nachplappern, hast aber noch nie mit den MFC gearbeitet.
Mit dem Nick brauchen wir uns über das auch nicht zu unterhalten (P.S: Ich habe schon vor längeren mit der MFC arbeiten müssen, und man sieht dem Framework an, das es schon lange veraltet ist).
-
asc schrieb:
ms fanboy schrieb:
Unsinn. Du kannst wohl auch nur nachplappern, hast aber noch nie mit den MFC gearbeitet.
Ich habe schon vor längeren mit der MFC arbeiten müssen, und man sieht dem Framework an, das es schon lange veraltet ist
Was findest Du so schlecht an den MFC? Ich finde sie sehr praktisch, nicht nur durch die Integration in VS. Man kann mit den MFC sehr einfach und schnell Windows-Programme entwickeln und sogar mit WinAPI-Aufrufen mischen. Ja, die Datenbankanbindung ist Mist, aber sonst habe ich nichts daran auszusetzen.
-
ms fanboy schrieb:
Was findest Du so schlecht an den MFC? Ich finde sie sehr praktisch, nicht nur durch die Integration in VS. Man kann mit den MFC sehr einfach und schnell Windows-Programme entwickeln und sogar mit WinAPI-Aufrufen mischen. Ja, die Datenbankanbindung ist Mist, aber sonst habe ich nichts daran auszusetzen.
Ich denke dazu muss man nur sagen: wer einmal mit MFC und einmal mit Swing gearbeitet hat, der stellt solche Fragen nicht.
Wobei Swing natürlich sehr schön ist, aber auch Qt oder gtkmm sind gute Toolkits.
-
Dravere schrieb:
nwp2 schrieb:
Ich nehme das über die Doku von QT zurück. Hab QT mit GTK verwechselt. QT hatte ich aufgegeben wegen c++. Das war wohl etwas vorschnell.
Seltsame Augen hast du:
http://www.gtk.org/documentation.htmlDie habe ich gefunden und viele Stunden versucht damit was zu machen. Er zwingt einem ständig GTK+ auf. Abgesehen davon gibt es pro Funktion eine Zeile Kommentar, wenn überhaupt.
Ich bin wahrscheinlich nur von der WinAPI verwöhnt, da gibts eine Zeile Funktion und eine Seite Erklärung der Parameter, Hinweise, übliche Fehler, Beispiele, welche Header und Libs man braucht und eine Referenz zu ähnlichen Funktionen.Aber naja, wer GTK mag soll es benutzen. Ich komme aber weiterhin mit C-Bibliotheken und vor allem mit der WinAPI recht gut klar, mit QT und GTK garnicht.
-
Shade Of Mine schrieb:
ms fanboy schrieb:
Was findest Du so schlecht an den MFC? Ich finde sie sehr praktisch, nicht nur durch die Integration in VS. Man kann mit den MFC sehr einfach und schnell Windows-Programme entwickeln und sogar mit WinAPI-Aufrufen mischen. Ja, die Datenbankanbindung ist Mist, aber sonst habe ich nichts daran auszusetzen.
Ich denke dazu muss man nur sagen: wer einmal mit MFC und einmal mit Swing gearbeitet hat, der stellt solche Fragen nicht.
Wobei Swing natürlich sehr schön ist,
ist das sarkasmus? Swing war der grund fuer mich meine schlechte meinung ueber MFC zu ueberdenken, spaetestens als ich sah wie die einzelnen bildelementes von swing einzeln aufgebaut wurden war das ding fuer mich gestorben.
aber auch Qt oder gtkmm sind gute Toolkits.
wxWidget :FTW: