transactionthread.h
来自「QT4 gui programming的随书光盘」· C头文件 代码 · 共 82 行
H
82 行
#ifndef TRANSACTIONTHREAD_H#define TRANSACTIONTHREAD_H#include <QImage>#include <QMutex>#include <QQueue>#include <QThread>#include <QWaitCondition>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: TransactionThread(); ~TransactionThread(); void addTransaction(Transaction *transact); void setImage(const QImage &image); QImage image();signals: void transactionStarted(const QString &message); void allTransactionsDone();protected: void run();private: QImage currentImage; QQueue<Transaction *> transactions; QWaitCondition transactionAdded; QMutex mutex;};#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?