@Joe-von-Habsburg
The bottom one is easy.
Just subclass QPushButton, implement your own paintEvent and draw a circle that matches your specs.
Done.
For the top button, the "WiFi"/intensity button thing:
[1] Either make a widget that internally holds three QPushButton widgets shaped in the way you need (also by implementing paintEvent)
OR
[2] you create your own button class that defines and draws these three areas and performs click-checks on them to emit your own signal depending on which section was clicked.
Something like
void IntensityButton::clicked(int intensity)
where you pass 0, 1 or 2 or maybe even some enum class values (LOW, MEDIUM, HIGH) with your signal.
The faster and simpler way is [1], [2] might take a little more effort to implement properly, but is more versatile and can be used in many ways to customize your widget even more.
Personally, I would opt for approach [2].