4 ms·
Is anyone aware of a publicly available code base to look into when searching for high quality Qt-based (desktop) applications? Think chromium-quality software
by W0lf 6y ago
Is anyone aware of a publicly available code base to look into when searching for high quality Qt-based (desktop) applications? Think chromium-quality software quality code base.
I am looking for inspiring patterns and also things such as naming schemes as I regularly change my mind when it comes to developing Qt based applications with regard to:
- naming things (e.g. should signals/slots be prefixed (sigFoo() -> onFooBared())
- how to deal with signal functions actually not implemented (clang-tidy warnings)
- how to break up large main window classes in a reasonable manner
and so on. Typically I immerse myself in one of the larger code bases I'm aware of (Android, Firefox, Chromium, Tensorflow, and some others) and regularly discover pretty useful patterns I can make use of. However, I was unlucky to find something for Qt based.
- zwieback 6y agoYou could look at KDE, I don't know about the quality but it's a big enough public effort that it should be well reviewed. https://en.wikipedia.org/wiki/KDE_Projects https://en.wikipedia.org/wiki/KDE_Projects
- hoistbypetard 6y agoThe KDE applications would seem like a good place to start. https://kde.org/applications/office https://kde.org/applications/office
- ynezz 6y agoQt itself, like for example https://github.com/qt/qttools https://github.com/qt/qttools?
- MaxBarraclough 6y agoGood suggestion. Code snippets showing the naming style they use: connect(contextShortcut, SIGNAL(activated()), this, SLOT(showContextDock())); connect(m_messageView->selectionModel(), SIGNAL(currentColumnChanged(QModelIndex,QModelIndex)), SLOT(updateLatestModel(QModelIndex))); Taken from https://github.com/qt/qttools/blob/7ec161d6f/src/linguist/linguist/mainwindow.cpp https://github.com/qt/qttools/blob/7ec161d6f/src/linguist/li...
- heeen 6y agoQtCreator maybe?
- jcelerier 6y agoseconded, I used the general design ideas of QtCreator as a baseline for my own stuff and it's been great
- ar-jan 6y agoQGIS could be interesting. It contains tons of functionality, and interfaces with multiple other geospatial projects.
- cpach 6y agoVirtualbox maybe
- nextweek2 6y agoqBittorret has always been a bit cutting edge with Qt feature usage, which can be interesting. https://github.com/qbittorrent/qBittorrent https://github.com/qbittorrent/qBittorrent not able to comment on code quality.
- wheels 6y ago> Think chromium-quality software quality [...] There's an irony somewhere in there that Chromium is a descendant of KHTML, KDE's rendering engine, which became WebKit and was originally written using Qt. And Google and Apple's contributions were regularly derided for being relatively low quality. Qt and KDE have always had a lot of cross-contribution, so KDE (its libraries, for example) is a good place to start: https://github.com/KDE/kdelibs https://github.com/KDE/kdelibs There's also this old, but still relevant, article on designing Qt-style APIs (which had a big impact on me personally): https://doc.qt.io/archives/qq/qq13-apis.html https://doc.qt.io/archives/qq/qq13-apis.html