以截图软件为例,同时运行截图软件和另外一个读取所截取图片的软件,说明这两个进程间通信。之前的截图软件已经做好,接下来准备一个读取剪切板的图片。
1.新建一个mainWindow工程,在其UI界面中,拖入一个label。
2.进入mianwindow.h中定义一个全局的定时器和一个全局的QPixmap类型变量,并做一个定时器的信号槽连接,如下:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
timer=new QTimer;
QObject::connect(this->timer,SIGNAL(timeout()),this,SLOT(getpicture()));
timer->start(200);
}
定时器定时200ms,即每0.2秒读取一次剪切板的图片。
3.添加槽函数代码,如下:
void MainWindow::getpicture()
{
QClipboard *board=QApplication::clipboard();
this->pixmap=board->pixmap();
ui->label->setPixmap(this->pixmap.scaled(ui->label->size()));
}
定义一个QClipboard类的对象,通过该对象的pixmap返回一个Q