Qt 实现颜色下拉框控件
任务需求:实现颜色下拉框,选择有限颜色或自定义颜色,并记录历史颜色选项。
看了很多大佬实现的颜色方案,比如基于 QToolButton 的颜色下拉框控件,以及通过修改 QStyle 内容自定义下拉面板风格 等形式。前者不大符合我的功能需求,后者原作者并没有提供源代码,再学习 QStyle 有点费工夫,姑且算了。本文参考利用tablewidget重排pushbutton的方式来实现颜色下拉框。
主要思路是:
1.
继承 QComboBox ,利用 Qtablewidget 实现下拉板内容的实现;
2.
将 Qpushbutton 背景颜色作为被选择颜色,且自定义了 MyPushButton,用以传出背景色;
3.
实现当前色的保存和颜色回选。
将自定义的控件,发布成动态链接库形式,并用 Demo 来展示。