📄 transactionthread.h
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -