Qt Advanced Docking System
v1.0.0
จัดการวิดเจ็ตเนื้อหาเช่น Visual Studio หรือโปรแกรมที่คล้ายกัน ฉันยังพยายามทำทุกอย่างให้สำเร็จด้วยฟังก์ชัน Qt พื้นฐาน การใช้งานพื้นฐานของ QWidgets และ QLayouts และใช้สไตล์พื้นฐานให้มากที่สุด
เปิด build.pro
ด้วย QtCreator แล้วเริ่ม build แค่นั้นเอง คุณสามารถรันโครงการสาธิตและทดสอบได้ด้วยตัวเอง
ไม่รับประกันว่าสาขา master
จะมีเสถียรภาพหรือไม่ได้สร้างด้วยซ้ำ เนื่องจากเป็นสาขาการทำงานหลัก หากคุณต้องการเวอร์ชันที่สร้าง คุณควรใช้แท็ก release/beta เสมอ
ตัวอย่างต่อไปนี้แสดงรหัสขั้นต่ำที่จำเป็นในการใช้ 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 (Do W hat T he F uck You Want To P ublic L icense)
ใช้มันเหรอ? แจ้งให้เราทราบโดยสร้างปัญหาใหม่ (คุณไม่จำเป็นต้องสร้างปัญหาดังกล่าว)