QT - Modern User Interfaces For C++ - Milian Wolff - CppCon 2015
QT - Modern User Interfaces For C++ - Milian Wolff - CppCon 2015
QT - Modern User Interfaces For C++ - Milian Wolff - CppCon 2015
MainWindow::MainWindow(QWidget* parent)
: QMainWindow(parent)
, m_ui(new Ui::MainWindow)
, m_treeModel(new MyTreeModel(this))
{
m_ui->setupUi(this);
connect(m_ui->treeFilter, &QLineEdit::textChanged,
proxy, &KRecursiveFilterProxyModel::setFilterRegExp);
}
QT WIDGETS
proven technology
perfect for desktop applications
not going to die anytime soon
contemporary, if not modern
3. QT QUICK
QT QUICK
ApplicationWindow {
visible: true
width: 400
Button {
text: "Check Me"
checkable: true
moc
uic
rcc
...
improve productivity
simplify code maintenance
overcome C++ limitations
BUILD SYSTEM INTEGRATION
QMake
CMake
Visual Studio
MOC: REFLECTION
return app.exec();
}
EFFICIENCY
200% Relative Size
7.1e+5
5.8e+4
2.3e+7
2.4e+4
2.3e+4
100%
3.7e+5
1.2e+7
2.9e+4
1.1e+7
3.3e+5
1.3e+4
2.8e+4
Data Segment
0%
text data bss relocations
QtGui (4.8.7)
QtGui & QtWidgets (5.5.0)
CsGui (1.2.1)
QT CONTAINERS
QList
QVector
QMap
QHash
...
understand implicit sharing
prefer to use QVectoror QHash
STL / Boost containers are also fine!
QListshould die
C++11 & QT
internally:
C++11 optionally used up to Qt 5.6
Qt 5.7+ will depend on a C++11 compiler
in your own applications:
use the latest and greatest C++XY
DEVELOPMENT PROCESS
open governance
FOSS & commercial license
KDE Free Qt Foundation
CLA
QUESTIONS?
[email protected]
http://www.kdab.com