1、官方自帶
Qt官方自帶的QColorDialog類提供了一個指定顔色的對話框部件。
#include <QColorDialog>
QColor i = QColorDialog::getColor(Qt::red, this,
tr("顔色對話框"),
QColorDialog::ShowAlphaChannel);
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5yYhNGMhJGZ5UGNmhjMiVTOlRDO0gTNjV2MjNzMhVjZi9CX5d2bs92Yl1iclB3bsVmdlR2LcNWaw9CXt92Yu4GZjlGbh5yYjV3Lc9CX6MHc0RHaiojIsJye.png)
2、自定義
但是好多開源項目都使用了自定義控件Qt Color Widgets。
https://gitlab.com/mattia.basaglia/Qt-Color-WidgetsC++使用方法:
1.pro檔案
LIBS += -L$${DESTDIR} #lib path
LIBS += "QtColorWidgets-Qt52.lib"
INCLUDEPATH += ../color_widgets/include/
INCLUDEPATH += ../color_widgets/include/QtColorWidgets/
2.cpp源檔案
#include "color_dialog.hpp"
void Designer::on_actionColor_triggered()
{
color_widgets::ColorDialog dlg;
connect(&dlg, &color_widgets::ColorDialog::colorSelected, this, &Designer::color_changed);
dlg.exec();
}
void Designer::color_changed(QColor color)
{
int r, g, b, a;
color.getRgb(&r, &g, &b, &a);
color.getHsv(&r, &g, &b, &a);
}
https://github.com/pencil2d/pencil ------
https://github.com/frankosterfeld/qtkeychain獨立于平台的Qt API,用于安全存儲密碼。