C++ Methoden Liste
-
Hi, danke erstmal für die Listen :D. Auswendiglernen ist bei mir nicht drin, dann würde ich schon eher versuchen das System hinter der Programmiersprache zu verstehen, um so selbst eigene Methoden zu erstellen. Da ich dafür aber jetzt nicht die Zeit habe, suche ich mir nur die benötigten Methoden heraus und versuche diese so gut wie möglich zu verstehen.
Könnt Ihr mir daher noch sagen wie ich am besten durch diese "Methodenbibliothek navigiere?
Ich bräuchte drei,vier Methoden:
1. Methode zum Öffnen des Dateimanagers und zum Speichern des ausgewählten Verzeichnisses/Pfads unter einer dafür geeigneten Variablen.
2. Methode zum Ausführen eines Programmes in bzw. mit dem gespeicherten Verzeichnis aus 1.
3. Methode zur Übergabe von Werten in einem LineEditWidget an bestimmte Stellen in anderen Dateien.
Das wär so was ich brauch um vorerst glücklich zu sein. Wenn mir jemand natürlich erklären kann in welche Bereiche (Bibliotheken) ich welche Arten von Methoden einordnen kann, wäre das natürlich auch toll.
-
Ich weiß zwar nicht was genau du da mache möchtest, aber es sieht so aus als bräuchtest du vor allem std::ifstream und std::string.
-
mh ne, das hört sich schon etwas higher-leveled an. mindestens z.B. winapi
-
Chaka schrieb:
1. Methode zum Öffnen des Dateimanagers und zum Speichern des ausgewählten Verzeichnisses/Pfads unter einer dafür geeigneten Variablen.
QFileDialog -> die statischen Methoden (getExistingDierctory, z.B.)
2. Methode zum Ausführen eines Programmes in bzw. mit dem gespeicherten Verzeichnis aus 1.
QProcess
3. Methode zur Übergabe von Werten in einem LineEditWidget an bestimmte Stellen in anderen Dateien.
Das versteh ich jetzt nicht, was du wilst.
-
Hi, danke für Eure Antworten.
3. Methode zur Übergabe von Werten in einem LineEditWidget an bestimmte Stellen in anderen Dateien.
Das versteh ich jetzt nicht, was du wilst.
Hierbei geht es darum in eine Datei, die kein C++ Code ist an die richtige Stelle einen Wert meiner Benutzeroberfläche zu übergeben. Soweit ich das sehe, handelt es sich wie gesagt bei der Datei nicht um C++ Code und damit kann ich den Wert nicht als Variable abspeichern und übergeben, sondern muss ihn praktisch in die Datei kopieren und den vorhandenen Wert an der Stelle damit überschreiben.
Grüße
-
Zu Container-Fragen habe ich was schönes gefunden: http://linuxsoftware.co.nz/containerchoice.png
Ist ein einfaches Flussdiagramm (? heißt das so? :P)
-
Hallo nochmal,
die getExistingDirectory Methode und QProzess waren genau das was ich gesucht hatte. Kann mir jemand vielleicht noch eine passende Methode nennen, um ein Verzeichnis nach einer genauen Verzeichnisvorlage zu erstellen? D.h. es soll ein neues Verzeichnis nach einer FESTEN Vorlage erstellt werden und dem Verzeichnis soll dann noch ein Name gegeben werden. Sowas wie "Erstelle Verzeichnis nach Vorlage".
Gruß
Chaka
-
Chaka schrieb:
es soll ein neues Verzeichnis nach einer FESTEN Vorlage erstellt werden
Was ist für dich eine Verzeichnisvorlage?
-
Also, wenn du Qt hast (und dich mehr oder weniger damit auskennst): mkdir (von QDir). Ist nicht statisch, da es einen relativen Pfad braucht, mach es also irgendwie in der Richtung:
QDir("C:/Wasweißich").mkdir("DerNeuePfad");Bei mir reichts
QtGuiQDir eizubinden.
Das erstelltaber nureinen einfachen Ordner mit dem zugehörigen Namen.
:xmas1:
-
Hacker schrieb:
Bei mir reichts QtGui eizubinden
Äh, genau... Weil ich QDir brauche, binde ich QtGui ein... Bitte IMMER nur das einbinden, was man braucht. Nennt man guter Stil. QtGui enthält SO VIEL was man nicht braucht, selbst mit vorkompilierten Headern wird das länger dauern als nur mit QDir.
-
arghonaut schrieb:
Hacker schrieb:
Bei mir reichts QtGui eizubinden
Äh, genau... Weil ich QDir brauche, binde ich QtGui ein... Bitte IMMER nur das einbinden, was man braucht. Nennt man guter Stil. QtGui enthält SO VIEL was man nicht braucht, selbst mit vorkompilierten Headern wird das länger dauern als nur mit QDir.
Sry, dann eben QDir

Ich mein nur, wenn man schon in Qt programmiert muss man sich um überhaupt keine Header mehr kümmern. Sonst kommen noch zig dazu (denk mal nach aus was für Bestandteilen dein Programm (UI) besteht).
-
dirent.h
-
Hacker schrieb:
Sonst kommen noch zig dazu (denk mal nach aus was für Bestandteilen dein Programm (UI) besteht).
Auch Quatsch.
Man schreibt nicht seine ganze GUI in einer einzigen Datei. Weiterhin gibts den Designer, mit dem man einen Großteil machen kann (sollte) - der bindet dann auch nicht QtGui ein, sondern alles einzeln.
Und auch wenn es 30 Header sind, die eingebunden werden müssen, ist das noch immer weniger (und besser) als die 300 QtGui-Header + 171 QtCore-Header (die bei #include <QtGui> mitkommen).Ein include QtGui in nem tatsächlichen Projekt (also nicht Test o.Ä.) ist genauso schlimm wie Ableiten nur um Code zu sparen.
-
Hi,
danke schonmal für die Antworten. Habe noch zwei Fragen:
1. Wie erstelle ich eine globale Variable zu dem Inhalt eines LineEdits?
2. Wie erstelle ich einen neuen Ordner (Verzeichnis) dem ich den Namen selbst gebe? Den Pfad unter dem ich den Ordner ablege müsste ich unter einer Variablen abspeichern und ihn in einem LineEdit ausgeben.
Für ein Verzeichnis hatte ich das hier gefunden:
QFileDialog dialog(this);
dialog.setFileMode(QFileDialog::AnyFile);
-
arghonaut schrieb:
Hacker schrieb:
Sonst kommen noch zig dazu (denk mal nach aus was für Bestandteilen dein Programm (UI) besteht).
Auch Quatsch.
Man schreibt nicht seine ganze GUI in einer einzigen Datei. Weiterhin gibts den Designer, mit dem man einen Großteil machen kann (sollte) - der bindet dann auch nicht QtGui ein, sondern alles einzeln.
Und auch wenn es 30 Header sind, die eingebunden werden müssen, ist das noch immer weniger (und besser) als die 300 QtGui-Header + 171 QtCore-Header (die bei #include <QtGui> mitkommen).Ein include QtGui in nem tatsächlichen Projekt (also nicht Test o.Ä.) ist genauso schlimm wie Ableiten nur um Code zu sparen.
Ok, danke weil
1. Hab ich letzteres (ableiten um Code zu sparen) bestimmt mindestens einmal gemacht (und wär noch auf andere Ideen gekommen)
2. Ich wusste ja nicht, dass 300 includiert werden!!Ich war mal so frey und habs aus'm Header C&P ed:
#include <QtCore/QtCore> #include "qbrush.h" #include "qcolor.h" #include "qcolormap.h" #include "qdrawutil.h" #include "qmatrix.h" #include "qpaintdevice.h" #include "qpaintengine.h" #include "qpainter.h" #include "qpainterpath.h" #include "qpen.h" #include "qpolygon.h" #include "qprintengine.h" #include "qprinter.h" #include "qprinterinfo.h" #include "qregion.h" #include "qrgb.h" #include "qstylepainter.h" #include "qtransform.h" #include "qwmatrix.h" #include "qaction.h" #include "qactiongroup.h" #include "qapplication.h" #include "qboxlayout.h" #include "qclipboard.h" #include "qcursor.h" #include "qdesktopwidget.h" #include "qdrag.h" #include "qevent.h" #include "qformlayout.h" #include "qgesture.h" #include "qgesturerecognizer.h" #include "qgridlayout.h" #include "qkeysequence.h" #include "qlayout.h" #include "qlayoutitem.h" #include "qmime.h" #include "qpalette.h" #include "qsessionmanager.h" #include "qshortcut.h" #include "qsizepolicy.h" #include "qsound.h" #include "qstackedlayout.h" #include "qtooltip.h" #include "qwhatsthis.h" #include "qwidget.h" #include "qwidgetaction.h" #include "qwindowdefs.h" #include "qgraphicsanchorlayout.h" #include "qgraphicsgridlayout.h" #include "qgraphicsitem.h" #include "qgraphicsitemanimation.h" #include "qgraphicslayout.h" #include "qgraphicslayoutitem.h" #include "qgraphicslinearlayout.h" #include "qgraphicsproxywidget.h" #include "qgraphicsscene.h" #include "qgraphicssceneevent.h" #include "qgraphicstransform.h" #include "qgraphicsview.h" #include "qgraphicswidget.h" #include "qkeyeventtransition.h" #include "qmouseeventtransition.h" #include "qbitmap.h" #include "qicon.h" #include "qiconengine.h" #include "qiconengineplugin.h" #include "qimage.h" #include "qimageiohandler.h" #include "qimagereader.h" #include "qimagewriter.h" #include "qmovie.h" #include "qpicture.h" #include "qpictureformatplugin.h" #include "qpixmap.h" #include "qpixmapcache.h" #include "qabstracttextdocumentlayout.h" #include "qfont.h" #include "qfontdatabase.h" #include "qfontinfo.h" #include "qfontmetrics.h" #include "qstatictext.h" #include "qsyntaxhighlighter.h" #include "qtextcursor.h" #include "qtextdocument.h" #include "qtextdocumentfragment.h" #include "qtextdocumentwriter.h" #include "qtextformat.h" #include "qtextlayout.h" #include "qtextlist.h" #include "qtextobject.h" #include "qtextoption.h" #include "qtexttable.h" #include "qgenericmatrix.h" #include "qmatrix4x4.h" #include "qquaternion.h" #include "qvector2d.h" #include "qvector3d.h" #include "qvector4d.h" #include "qabstractbutton.h" #include "qabstractscrollarea.h" #include "qabstractslider.h" #include "qabstractspinbox.h" #include "qbuttongroup.h" #include "qcalendarwidget.h" #include "qcheckbox.h" #include "qcombobox.h" #include "qcommandlinkbutton.h" #include "qdatetimeedit.h" #include "qdial.h" #include "qdialogbuttonbox.h" #include "qdockwidget.h" #include "qfocusframe.h" #include "qfontcombobox.h" #include "qframe.h" #include "qgroupbox.h" #include "qlabel.h" #include "qlcdnumber.h" #include "qlineedit.h" #include "qmainwindow.h" #include "qmdiarea.h" #include "qmdisubwindow.h" #include "qmenu.h" #include "qmenubar.h" #include "qmenudata.h" #include "qplaintextedit.h" #include "qprintpreviewwidget.h" #include "qprogressbar.h" #include "qpushbutton.h" #include "qradiobutton.h" #include "qrubberband.h" #include "qscrollarea.h" #include "qscrollbar.h" #include "qsizegrip.h" #include "qslider.h" #include "qspinbox.h" #include "qsplashscreen.h" #include "qsplitter.h" #include "qstackedwidget.h" #include "qstatusbar.h" #include "qtabbar.h" #include "qtabwidget.h" #include "qtextbrowser.h" #include "qtextedit.h" #include "qtoolbar.h" #include "qtoolbox.h" #include "qtoolbutton.h" #include "qvalidator.h" #include "qworkspace.h" #include "qaccessible.h" #include "qaccessible2.h" #include "qaccessiblebridge.h" #include "qaccessibleobject.h" #include "qaccessibleplugin.h" #include "qaccessiblewidget.h" #include "qsymbianevent.h" #include "qcompleter.h" #include "qdesktopservices.h" #include "qsystemtrayicon.h" #include "qundogroup.h" #include "qundostack.h" #include "qundoview.h" #include "qcdestyle.h" #include "qcleanlooksstyle.h" #include "qcommonstyle.h" #include "qgtkstyle.h" #include "qmotifstyle.h" #include "qplastiquestyle.h" #include "qproxystyle.h" #include "qs60style.h" #include "qstyle.h" #include "qstylefactory.h" #include "qstyleoption.h" #include "qstyleplugin.h" #include "qwindowscestyle.h" #include "qwindowsmobilestyle.h" #include "qwindowsstyle.h" #include "qwindowsvistastyle.h" #include "qwindowsxpstyle.h" #include "qabstractitemdelegate.h" #include "qabstractitemview.h" #include "qabstractproxymodel.h" #include "qcolumnview.h" #include "qdatawidgetmapper.h" #include "qdirmodel.h" #include "qfileiconprovider.h" #include "qheaderview.h" #include "qitemdelegate.h" #include "qitemeditorfactory.h" #include "qitemselectionmodel.h" #include "qlistview.h" #include "qlistwidget.h" #include "qproxymodel.h" #include "qsortfilterproxymodel.h" #include "qstandarditemmodel.h" #include "qstringlistmodel.h" #include "qstyleditemdelegate.h" #include "qtableview.h" #include "qtablewidget.h" #include "qtreeview.h" #include "qtreewidget.h" #include "qtreewidgetitemiterator.h" #include "qgraphicseffect.h" #include "qs60mainapplication.h" #include "qs60mainappui.h" #include "qs60maindocument.h" #include "qinputcontext.h" #include "qinputcontextfactory.h" #include "qinputcontextplugin.h" #include "qabstractpagesetupdialog.h" #include "qabstractprintdialog.h" #include "qcolordialog.h" #include "qdialog.h" #include "qerrormessage.h" #include "qfiledialog.h" #include "qfilesystemmodel.h" #include "qfontdialog.h" #include "qinputdialog.h" #include "qmessagebox.h" #include "qpagesetupdialog.h" #include "qprintdialog.h" #include "qprintpreviewdialog.h" #include "qprogressdialog.h" #include "qwizard.h" #include "qvfbhdr.h" #include "qwsembedwidget.h"QtGui: 225
QtCore:
#include "qxmlstream.h" #include "qtextcodec.h" #include "qtextcodecplugin.h" #include "qabstracteventdispatcher.h" #include "qabstractitemmodel.h" #include "qbasictimer.h" #include "qcoreapplication.h" #include "qcoreevent.h" #include "qeventloop.h" #include "qmath.h" #include "qmetaobject.h" #include "qmetatype.h" #include "qmimedata.h" #include "qobject.h" #include "qobjectcleanuphandler.h" #include "qobjectdefs.h" #include "qpointer.h" #include "qsharedmemory.h" #include "qsignalmapper.h" #include "qsocketnotifier.h" #include "qsystemsemaphore.h" #include "qtimer.h" #include "qtranslator.h" #include "qvariant.h" #include "qabstractanimation.h" #include "qanimationgroup.h" #include "qparallelanimationgroup.h" #include "qpauseanimation.h" #include "qpropertyanimation.h" #include "qsequentialanimationgroup.h" #include "qvariantanimation.h" #include "qendian.h" #include "qfeatures.h" #include "qglobal.h" #include "qlibraryinfo.h" #include "qnamespace.h" #include "qnumeric.h" #include "qatomic.h" #include "qbasicatomic.h" #include "qmutex.h" #include "qreadwritelock.h" #include "qsemaphore.h" #include "qthread.h" #include "qthreadstorage.h" #include "qwaitcondition.h" #include "qabstractstate.h" #include "qabstracttransition.h" #include "qeventtransition.h" #include "qfinalstate.h" #include "qhistorystate.h" #include "qsignaltransition.h" #include "qstate.h" #include "qstatemachine.h" #include "qabstractfileengine.h" #include "qbuffer.h" #include "qdatastream.h" #include "qdebug.h" #include "qdir.h" #include "qdiriterator.h" #include "qfile.h" #include "qfileinfo.h" #include "qfilesystemwatcher.h" #include "qfsfileengine.h" #include "qiodevice.h" #include "qprocess.h" #include "qresource.h" #include "qsettings.h" #include "qtemporaryfile.h" #include "qtextstream.h" #include "qurl.h" #include "qfuture.h" #include "qfutureinterface.h" #include "qfuturesynchronizer.h" #include "qfuturewatcher.h" #include "qrunnable.h" #include "qtconcurrentcompilertest.h" #include "qtconcurrentexception.h" #include "qtconcurrentfilter.h" #include "qtconcurrentfilterkernel.h" #include "qtconcurrentfunctionwrappers.h" #include "qtconcurrentiteratekernel.h" #include "qtconcurrentmap.h" #include "qtconcurrentmapkernel.h" #include "qtconcurrentmedian.h" #include "qtconcurrentreducekernel.h" #include "qtconcurrentresultstore.h" #include "qtconcurrentrun.h" #include "qtconcurrentrunbase.h" #include "qtconcurrentstoredfunctioncall.h" #include "qtconcurrentthreadengine.h" #include "qthreadpool.h" #include "qfactoryinterface.h" #include "qlibrary.h" #include "qplugin.h" #include "qpluginloader.h" #include "quuid.h" #include "qalgorithms.h" #include "qbitarray.h" #include "qbytearray.h" #include "qbytearraymatcher.h" #include "qcache.h" #include "qchar.h" #include "qcontainerfwd.h" #include "qcontiguouscache.h" #include "qcryptographichash.h" #include "qdatetime.h" #include "qeasingcurve.h" #include "qelapsedtimer.h" #include "qhash.h" #include "qiterator.h" #include "qline.h" #include "qlinkedlist.h" #include "qlist.h" #include "qlocale.h" #include "qmap.h" #include "qmargins.h" #include "qpair.h" #include "qpoint.h" #include "qqueue.h" #include "qrect.h" #include "qregexp.h" #include "qscopedpointer.h" #include "qset.h" #include "qshareddata.h" #include "qsharedpointer.h" #include "qsize.h" #include "qstack.h" #include "qstring.h" #include "qstringbuilder.h" #include "qstringlist.h" #include "qstringmatcher.h" #include "qtextboundaryfinder.h" #include "qtimeline.h" #include "qvarlengtharray.h" #include "qvector.h"QtCore: 135.
Du hast Recht.
-
arghonaut schrieb:
Ein include QtGui in nem tatsächlichen Projekt (also nicht Test o.Ä.) ist genauso schlimm wie Ableiten nur um Code zu sparen.
Nein, weil für sowas hat der liebe Herrgott uns nämlich precompiled Header beschert.
-
gelöscht
-
Hi Männers,
um nochmal auf meine Fragen zurück zu kommen
, bevor das ganz verloren geht xD.Habe noch zwei Fragen:
1. Wie erstelle ich eine globale Variable zu dem Inhalt eines LineEdits?
2. Wie erstelle ich einen neuen Ordner (Verzeichnis) dem ich den Namen selbst gebe? Den Pfad unter dem ich den Ordner ablege müsste ich unter einer Variablen abspeichern und ihn in einem LineEdit ausgeben.
Für ein Verzeichnis hatte ich das hier gefunden:
QFileDialog dialog(this);
dialog.setFileMode(QFileDialog::AnyFile);
-
Chaka schrieb:
Hi Männers,
um nochmal auf meine Fragen zurück zu kommen
, bevor das ganz verloren geht xD.Habe noch zwei Fragen:
1. Wie erstelle ich eine globale Variable zu dem Inhalt eines LineEdits?
Lieber garnicht. Nimm einfach einen (so lokal wie möglichen) std::string (vllt. const).
Chaka schrieb:
2. Wie erstelle ich einen neuen Ordner (Verzeichnis) dem ich den Namen selbst gebe? Den Pfad unter dem ich den Ordner ablege müsste ich unter einer Variablen abspeichern und ihn in einem LineEdit ausgeben.
Ich hab es (dir) erklärt. Wenn du mich ignorierst ist das dein Problem.
-
Hi Männers,
um nochmal auf meine Fragen zurück zu kommen
, bevor das ganz verloren geht xD.Habe noch zwei Fragen:
1. Wie erstelle ich eine globale Variable zu dem Inhalt eines LineEdits?
Lieber garnicht. Nimm einfach einen (so lokal wie möglichen) std::string (vllt. const).
Versteh ich nicht ganz, denn ich brauche die Eingabe aus dem LineEdit als double Variable um sie an ne andere Methode weiter zu geben, daher global. Kannst erklären was Du meinst?
Chaka schrieb:
2. Wie erstelle ich einen neuen Ordner (Verzeichnis) dem ich den Namen selbst gebe? Den Pfad unter dem ich den Ordner ablege müsste ich unter einer Variablen abspeichern und ihn in einem LineEdit ausgeben.
Ich hab es (dir) erklärt. Wenn du mich ignorierst ist das dein Problem.
Jo, aber die genannte Methode:
QDir("C:/Wasweißich").mkdir("DerNeuePfad");funktioniert schon einwandfrei
, ist aber nicht ganz das was ich suche. Ich hatte mir eher vorgestellt, dass der Dateimanager öffnet und ich selbst den Ort und den Namen des Ordner in ihm eingeben kann... ansonsten funktioniert die Methode von Dir natürlich top
, nur ist sie eben nicht ganz das was ich brauche.