transactionthread.h

来自「c++ GUI Programming with QT4书中的源码」· C头文件 代码 · 共 76 行

H
76
字号
#ifndef TRANSACTIONTHREAD_H#define TRANSACTIONTHREAD_H#include <QImage>#include <QMutex>#include <QThread>#include <QQueue>class Transaction{public:    virtual ~Transaction() { }    virtual QImage apply(const QImage &image) = 0;    virtual QString message() = 0;};class FlipTransaction : public Transaction{public:    FlipTransaction(Qt::Orientation orientation);    QImage apply(const QImage &image);    QString message();private:    Qt::Orientation orientation;};class ResizeTransaction : public Transaction{public:    ResizeTransaction(const QSize &size);    QImage apply(const QImage &image);    QString message();private:    QSize size;};class ConvertDepthTransaction : public Transaction{public:    ConvertDepthTransaction(int depth);    QImage apply(const QImage &image);    QString message();private:    int depth;};class TransactionThread : public QThread{    Q_OBJECTpublic:    void addTransaction(Transaction *transact);    void setImage(const QImage &image);    QImage image();signals:    void transactionStarted(const QString &message);protected:    void run();private:    QMutex mutex;    QImage currentImage;    QQueue<Transaction *> transactions;};#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?