HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
qt
qtbase
C++2015–2025
qt / qtbase

qtbase

Qt Base (Core, Gui, Widgets, Network, ...)

10Distinct people
19Mentions
0Explicit recommenders
3.1KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Qt Base (Core, Gui, Widgets, Network, ...)

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year19 dated mentions

Observed mentions: 2015-06-10 02:21:20 UTC to 2025-12-22 19:46:52 UTC.

012342015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20152016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC202
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC000
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC101
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC404
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC101
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC101
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC101
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC303
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC101
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC202
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC303

What Hacker News says

19 sources
No, it implements its own functionality. As an example consider one of the most basic controls which is available pretty much everywhere (i.e. no need for polyfill), the push button: the source code[0] for QPushButton clearly implements the behavior itself, it does not rely on any native button. Compare with wxWidgets' equivalent to QPushButton, wxButton, where there is a backend-specific header[1] and implementation[2] where 99% of the wxButton functionality is there (there is a `btncmn.cpp` under `common` that is shared across backends but that has very little code itself). [0] https://github.com/qt/qtbase/blob/dev/src/widgets/widgets/qp... [1] https://github.com/wxWidgets/wxWidgets/blob/master/include/w... [2] https://github.com/wxWidgets/wxWidgets/blob/master/src/msw/b...
In Microsoft is open sourcing Windows 11's UI framework
QRhi + Qt3D & / QtQuick3D is pretty much the exact same goal than pygfx with a different implementation: https://github.com/qt/qtbase/tree/dev/src/gui/rhi ; https://doc.qt.io/qt-6/qt3d-index.html ; https://doc.qt.io/qt-6/qtquick3d-index.html ; QRhi itself pretty much sits at the "wgpu" abstraction layer. I've been using it for 4-ish years now in https://ossia.io (just the RHI part) Pros: - Integrates with Qt (of course). - Really really easy API compared to the average C++ API. - Works absolutely everywhere. - Many provided examples: https://github.com/qt/qtbase/tree/dev/tests/manual/rhi - Shader language is SPIRV-compatible GLSL 4.x thus it makes it fairly trivial to import existing GL shaders (one of my requirements was support for https://editor.isf.video shaders). Cons: - Was developed before Vulkan Dynamic Rendering was introduced s
Read the rest
o the whole API is centered around the messy renderpass thing which while powerful is sometimes a bit more tedious than necessary when your focus is desktop app development. However, Qt also has a huge focus on embedded so it makes sense to keep the API this way. - Most likely there are some unnecessary buffer copies here and there compared to doing things raw. - Does not abstract many texture formats. For instance still no support for YUV textures e.g. VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM and friends :'(
In Pygfx
Qt5's qtbase module is over 2 million LOC, and doesn't even cover QML, QtQuick, etc. Just having proper abstractions over each platform[1]'s: - windowing - KB/mouse/tablet/touch input - raster painting - 3D APIs (Vk, D3D, GL, Metal...) - text layout and rendering - support for accessibility APIs + things such as generic data models for tables and trees, etc... is already an immense amount of work, and you haven't even started drawing a single button yet. * https://github.com/qt/qtbase/tree/dev/src/plugins/platforms
In CXX-Qt: Safe Rust bindings for Qt
> I've already said elsewhere that having read their licensing terms and limits on what parts and how it can be used I would not touch QT with the wooden pole. the OSS licensing terms are the LGPL or GPL. - https://github.com/qt/qtbase/blob/dev/LICENSE.GPL3 - https://github.com/qt/qtbase/blob/dev/LICENSE.LGPLv3 - https://github.com/qt/qtdeclarative/blob/dev/LICENSE.GPL3 - https://github.com/qt/qtdeclarative/blob/dev/LICENSE.LGPLv3 they can add whatever separate licensing scheme they want in addition to that but if a repo has LICENSE.LGPLv3 in it, you can use it under LGPL like every other OSS project (and those two repos cover by far most of Qt, you can pretty much build an entire OS userspace out of them).
In Delphi 11 Alexandria
https://github.com/qt/qtbase/blob/5.11/src/widgets/kernel/qw... is the largest no-nonsense C++ file I've ever seen https://github.com/borgbackup/borg/blob/master/src/borg/arch... ditto for Python Personally files this large become just very annoying overall. Code review tools tend to become slow on them (e.g. Gerrit is super-slow with files that are quite a bit smaller than qwidget.cpp), navigation is only possible via symbols, the import / include area becomes a huge mess (which also tends to generate constant merge conflicts, because imports are a common hot area for writes) etc.
In µUBSan: clean-room reimplementation of the Undefined Behavior Sanitizer runtime
Part of this is that UI toolkits do more and more disgusting things in order to preserve this behavior. Windows allows the foreground window to activate other windows "owned by the same app" so that existing applications don't break. The implementation, for this, of course, is a pile of heuristics [0]. Qt, steadfast in its duty to be as annoying as possible, pretends it is part of the foreground app when you call activate() by calling AttachThreadInput [1]. [0] Documented heuristics, even. https://msdn.microsoft.com/en-us/library/windows/desktop/ms6... [1] https://github.com/qt/qtbase/blob/5.11/src/plugins/platforms...
In Ask HN: What's wrong about Windows/macOS/GNU-Linux as of now?
> Is that because your code must be precompiled with moc before it's legal C++? That's... not how moc works at all. Moc parse your header files and generates additional cpp files from it which contain boilerplate for reflection and signals. So no static analyzer has any problem parsing Qt code... (I use cppcheck, coverity, clang-analyzer, clang-tidy) The "special" Qt keywords like signal, slot, etc... are just trivial macros: https://github.com/qt/qtbase/blob/5.10/src/corelib/kernel/qo... "signals" is just defined as "public", "slots" and "emit" as nothing. Your compiler compiles your source as-is. If you really don't like moc, there's a way to get its features natively with C++14 compilers (and uglier macros) : https://github.com/woboq/verdigris
In Qt Creator 4.6 Beta Released

Showing the 15 most recent of 19 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.