Qt Advanced Docking System
v1.0.0
管理内容小部件更像是 Visual Studio 或类似程序。我还尝试使用基本的 Qt 功能来完成所有工作。 QWidgets 和 QLayouts 的基本用法,并尽可能使用基本样式。
用QtCreator打开build.pro
并开始构建,就是这样。您可以运行演示项目并自行测试。
master
分支不能保证稳定,甚至无法构建,因为它是主要工作分支。如果您想要一个可以构建的版本,您应该始终使用发布/测试版标签。
以下示例显示了使用 ADS 所需的最少代码。
我的窗口.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;
};
我的窗口.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,项目维护者
该项目使用 WTFPL 许可证(Do W hat T he Fuck You Want To Public License )
使用它吗?通过创建新问题让我们知道(当然,您不必这样做)。