Verwaltet Inhalts-Widgets eher wie Visual Studio oder ähnliche Programme. Ich versuche auch, alles mit der grundlegenden Qt-Funktionalität zu erledigen. Grundlegende Verwendung von QWidgets und QLayouts und Verwendung grundlegender Stile so weit wie möglich.
Öffnen Sie build.pro
mit QtCreator und starten Sie den Build, fertig. Sie können das Demoprojekt ausführen und selbst testen.
Es ist nicht garantiert, dass der master
-Zweig stabil ist, oder er wird überhaupt nicht erstellt, da es sich um den Hauptarbeitszweig handelt. Wenn Sie eine Version wünschen, die erstellt werden kann, sollten Sie immer ein Release-/Beta-Tag verwenden.
Das folgende Beispiel zeigt den Mindestcode, der für die Verwendung von ADS erforderlich ist.
MyWindow.h
# include < QMainWindow >
# include " ads/API.h "
# include " ads/ContainerWidget.h "
# include " ads/SectionContent.h "
class MyWindow : public QMainWindow
{
Q_OBJECT
public:
MyWindow (QWidget* parent);
private:
// The main container for dockings.
ADS_NS::ContainerWidget* _container;
// You always want to keep a reference of your content,
// in case you need to perform any action on it (show, hide, ...)
ADS_NS::SectionContent::RefPtr _sc1;
};
MyWindow.cpp
# include " MyWindow.h "
# include < QLabel >
MyWindow::MyWindow (QWidget* parent) : QMainWindow(parent)
{
_container = new ADS_NS::ContainerWidget ();
setCentralWidget (_container);
_sc1 = ADS_NS::SectionContent::newSectionContent ( QString ( " Unique-Internal-Name " ), _container, new QLabel ( " Visible Title " ), new QLabel ( " Content Widget " ));
_container-> addSectionContent (_sc1, NULL , ADS_NS::CenterDropArea);
}
static void initStyleSheet (QApplication& a)
{
// Q_INIT_RESOURCE(ads); // If static linked.
QFile f ( " :ads/stylesheets/default-windows.css " );
if (f. open (QFile::ReadOnly))
{
const QByteArray ba = f. readAll ();
f. close ();
a. setStyleSheet ( QString (ba));
}
}
int main ( int argc, char *argv[])
{
QApplication a (argc, argv);
a. setQuitOnLastWindowClosed ( true );
initStyleSheet (a);
MainWindow mw;
mw. show ();
return a. exec ();
}
Manuel Freiholz, Projektbetreuer
Dieses Projekt verwendet die WTFPL-Lizenz (Do What T he Fuck You Want To Public License ).
Benutzt du es? Lassen Sie es uns wissen, indem Sie ein neues Problem erstellen (das ist natürlich nicht nötig).