I created a modern and customizable tooltip library for PyQt and PySide
Posted by niklashnng@reddit | Python | View on Reddit | 10 comments
Hey guys,
since I couldn't find any good libraries for showing modern-looking and customizable tooltips in PyQt, I made one myself.
What My Project Does:
It supports fixed placement, automatic placement, fallback placements, an optional triangle, animations, delays and much more. Basically anything can be completely customized and it's extremely easy to use. Also, since it's developed with QtPy, an abstraction layer for multiple versions of PyQt and PySide, you can use it with PyQt5, PyQt6, PySide2, and PySide6.
Target Audience:
This is useful for any Python developer who is working with PyQt or PySide and wants to add modern and customizable tooltips to their application.
Comparison:
To my knowledge, there are no comparable libraries out there.
Preview image: https://github.com/user-attachments/assets/0313ffc7-560b-4665-a652-e1e2601fcbaa
Demo video: https://github.com/user-attachments/assets/fa768d30-f3cc-4883-aa8b-fed3a8824b23
Github: https://github.com/niklashenning/pyqttooltip
Hope some of you will find this useful :)
Background-Brother90@reddit
I have just tried it, and it is amazing! I will definitely use it in my projects
Tumortadela@reddit
I'm already using your toast one, very good job 8)
niklashnng@reddit (OP)
Thanks!
banana33noneleta@reddit
You should make sure it interacts well with screen readers when making custom new UI elements.
123_alex@reddit
Perfect timing. Just last week I needed some tooltips and was not happy with the default ones. Will use it.
100721@reddit
This looks really good. Does it support style sheets like a normal qwidget
niklashnng@reddit (OP)
Thanks!
Styling is done via functions like:
`setBackgroundColor()`, `setTextColor()`, `setBorderColor()`, `setBorderRadius()`
joined_the_dark_side@reddit
This is great work!
niklashnng@reddit (OP)
Thanks!
noblecloud@reddit
A library like this has been on my todo list for a while, now I'm excited that now I don't have to!