QT6实现颜色拾取器

1.效果展示

  • 左侧为当前颜色显示,右侧记录捕捉的颜色值(RGB, ARGB, HEX).
  • 实时捕捉鼠标的位置,按ctrl+s即可保存当前鼠标位置的颜色值.

2.代码实现

1.ColorExtractorWidget.hpp

#pragma once

#include <QTimer>
#include <QPixmap>
#include <QImage>
#include <QWidget>
#include <QLabel>
#include <QPoint>
#include <QShortcut>
#include <QHeaderView>
#include <QTableWidget>
#include <QTableWidgetItem>
#include <QMouseEvent>
#include <QHboxLayout>
#include <QVBoxLayout>
#include <QApplication>
#include <QGuiApplication>

class ColorExtractorWidget : public QWidget
{
   
   
    Q_OBJECT

public:
    ColorExtractorWidget(QWidget* parent = nullptr);
    ~ColorExtractorWidget();

private:
    void setColor(QWidget* widget, const QColor& color);
    void setColor(QWidget* widget, const QString& hexColor);

    void initLayout();

    void saveCurrentColor();
    void getValue();
private:
    QLabel* colorLabel;

    QTableWidget* extractorRecodTable;

    QFont defaultFont;

    QAction* action;

    int m_r, m_g, m_b, m_a;

    QString m_hex;

    int current_table_index;
};

2.ColorExtractorWidget.cpp

#include <ColorExtractorWidget.hpp>

ColorExtractorWidget::ColorExtractorWidget(QWidget* parent) : current_table_index(0), m_r(0), m_g(0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值