Qt Advanced Docking System
v1.0.0
يدير عناصر واجهة المستخدم للمحتوى مثل Visual Studio أو البرامج المشابهة. أحاول أيضًا إنجاز كل شيء باستخدام وظائف Qt الأساسية. الاستخدام الأساسي لـ QWidgets و QLayouts واستخدام الأنماط الأساسية قدر الإمكان.
افتح build.pro
باستخدام QtCreator وابدأ الإنشاء، هذا كل شيء. يمكنك تشغيل المشروع التجريبي واختباره بنفسك.
لا يُضمن أن يكون الفرع master
مستقرًا أو حتى لا يتم بناؤه، لأنه فرع العمل الرئيسي. إذا كنت تريد إصدارًا يتم إنشاؤه، فيجب عليك دائمًا استخدام علامة الإصدار/التجريبية.
يوضح المثال التالي الحد الأدنى من التعليمات البرمجية المطلوبة لاستخدام ADS.
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 ();
}
مانويل فريهولز، مشرف المشروع
يستخدم هذا المشروع ترخيص WTFPL ( هل تريد الحصول على ترخيص عام )
استخدامه؟ أخبرنا عن طريق إنشاء مشكلة جديدة (ليس عليك ذلك بالطبع).