All Projects → mfreiholz → Qt Advanced Docking System

mfreiholz / Qt Advanced Docking System

Licence: other
Advanced Docking System for Qt

Programming Languages

cpp
1120 projects

Projects that are alternatives of or similar to Qt Advanced Docking System

Qmarkdowntextedit
A C++ Qt QPlainTextEdit widget with markdown highlighting support and a lot of other extras
Stars: ✭ 182 (-56.87%)
Mutual labels:  qt, qt5, widget
Qcodeeditor
Qt Code Editor widget.
Stars: ✭ 136 (-67.77%)
Mutual labels:  qt, qt5, widget
chatRoom
从零开始实现一个聊天室客户端(用qt实现,在Windows和Linux环境下都行),和在Linux下实现服务器后台
Stars: ✭ 146 (-65.4%)
Mutual labels:  qt, qt5
QDashBoard
Sample dashboard developed with QML. Login, plots and several screens.
Stars: ✭ 34 (-91.94%)
Mutual labels:  qt, qt5
Project lemonlime
为了 OI 比赛而生的基于 Lemon + LemonPlus 的轻量评测系统 | 三大桌面系统支持
Stars: ✭ 255 (-39.57%)
Mutual labels:  qt, qt5
QtExamples
Translations of the official Qt examples into PyQt5 (also PySide2) and more.
Stars: ✭ 39 (-90.76%)
Mutual labels:  qt, qt5
tenplayer
Modern Music Player for Linux
Stars: ✭ 18 (-95.73%)
Mutual labels:  qt, qt5
freeLib
freeLib - каталогизатор для библиотек LibRusEc и Flibusta
Stars: ✭ 19 (-95.5%)
Mutual labels:  qt, qt5
dannyAVgleDownloader
知名網站avgle下載器
Stars: ✭ 27 (-93.6%)
Mutual labels:  qt, qt5
Qxmpp
Cross-platform C++ XMPP client and server library
Stars: ✭ 300 (-28.91%)
Mutual labels:  qt, qt5
Nbaseuikit
个人平时使用的一些Qt编写的组件(有部分是整合的开源作品,部分是自己原创);
Stars: ✭ 286 (-32.23%)
Mutual labels:  qt, widget
Nheko
No longer maintained - Desktop client for the Matrix protocol (active fork https://github.com/Nheko-Reborn)
Stars: ✭ 410 (-2.84%)
Mutual labels:  qt, qt5
Qhttp
a light-weight and asynchronous HTTP library (both server & client) in Qt5 and c++14
Stars: ✭ 394 (-6.64%)
Mutual labels:  qt, qt5
screenshotgun
Open cross-platform screenshoter with cloud support and server part
Stars: ✭ 23 (-94.55%)
Mutual labels:  qt, qt5
asn1scc.IDE
Qt Creator plugin for asn1scc - ASN.1/ACN compiler for embedded systems
Stars: ✭ 15 (-96.45%)
Mutual labels:  qt, qt5
qSIP
VoIP/SIP client (softphone)
Stars: ✭ 20 (-95.26%)
Mutual labels:  qt, qt5
QtDemos
This is the collection of Qt demos to solve the problem from StackOverflow or I faced.
Stars: ✭ 23 (-94.55%)
Mutual labels:  qt, qt5
Qxlsx
Excel file(*.xlsx) reader/writer library using Qt 5 or 6. Descendant of QtXlsx.
Stars: ✭ 340 (-19.43%)
Mutual labels:  qt, qt5
QUaServer
Qt C++ wrapper for open62541 server stack
Stars: ✭ 78 (-81.52%)
Mutual labels:  qt, qt5
Swiftly
Swiftly is an easy to use Qt/C++ web framework
Stars: ✭ 20 (-95.26%)
Mutual labels:  qt, qt5

Advanced Docking System for Qt

Gitter

Manages content widgets more like Visual Studio or similar programs. I also try to get everything done with basic Qt functionality. Basic usage of QWidgets an QLayouts and using basic styles as much as possible.

Layout of widgets Dropping widgets

Tested Compatible Environments

  • Windows 7 / 8 / 8.1 / 10
  • Ubuntu 15.10

Build

Open the build.pro with QtCreator and start the build, that's it. You can run the demo project and test it yourself.

Release & Development

The master branch is not guaranteed to be stable or does not even build, since it is the main working branch. If you want a version that builds, you should always use a release/beta tag.

Getting started / Example

The following example shows the minimum code required to use 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();
}

Developers

Manuel Freiholz, Project Maintainer

License information

WTFPL

This projects uses the WTFPL license (Do What The Fuck You Want To Public License)

Using it? Let us know by creating a new issue (You don't have to, of course).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].