博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
contextMenuEvent
阅读量:5299 次
发布时间:2019-06-14

本文共 2603 字,大约阅读时间需要 8 分钟。

 

#include "mainwindow.h"#include "ui_mainwindow.h"#include 
#include
#include
#include
#include
#include
#include
#include
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this);}MainWindow::~MainWindow(){ delete ui;}void MainWindow::on_newPicButton_clicked(){ if (ui->radioButtonHide->isChecked()) { timer = new QTimer(); //timer->setInterval(ui->spinBox->value()*1000); //this->hide(); timer->start(1000/3); //int id = startTimer(ui->spinBox->value()*1000); connect(this->timer,&QTimer::timeout,this,[=]{ //QDesktopWidget w; m_pic = QPixmap::grabWindow(QApplication::desktop()->winId()); // 保存到剪切版 //QClipboard *clipboard = QGuiApplication::clipboard();// QString originalText = clipboard->text();// qDebug() << originalText; //clipboard->setPixmap(m_pic); QSize size = ui->labelShowPic->size(); ui->labelShowPic->setPixmap(m_pic.scaled(size)); //timer->stop(); //this->show(); }); } else { qApp->beep();// 嘀嘀响 }}void MainWindow::on_savePicButton_clicked(){ QString fileName = QFileDialog::getSaveFileName(this, tr("Save File"), QDir::currentPath(), tr("Images (*.png *.xpm *.jpg)")); if (!fileName.isEmpty()) { m_pic.save(fileName); }}void MainWindow::on_exitButton_clicked(){ this->close();}void MainWindow::contextMenuEvent(QContextMenuEvent *e){ QMenu *menu = new QMenu(this); QAction *action = new QAction(this); QAction *startNotePad = new QAction(this); connect(action,&QAction::triggered,this,&MainWindow::on_savePicButton_clicked); connect(startNotePad,&QAction::triggered,this,&MainWindow::startNotePad); action->setText("Save as"); startNotePad->setText("startNotePad"); menu->addAction(action); menu->addAction(startNotePad); menu->exec(QCursor::pos());}void MainWindow::startNotePad(){ QProcess *p = new QProcess(); p->start("notepad.exe");}

 

#ifndef MAINWINDOW_H#define MAINWINDOW_H#include 
#include
#include
#include
#include
#include
namespace Ui {class MainWindow;}class MainWindow : public QMainWindow{ Q_OBJECTpublic: explicit MainWindow(QWidget *parent = nullptr); ~MainWindow();private slots: void on_newPicButton_clicked(); void on_savePicButton_clicked(); void on_exitButton_clicked(); void contextMenuEvent(QContextMenuEvent *e); void startNotePad();private: Ui::MainWindow *ui; QTimer *timer; QPixmap m_pic;};#endif // MAINWINDOW_H

 

转载于:https://www.cnblogs.com/xiangtingshen/p/11074757.html

你可能感兴趣的文章
通过httplib2 探索的学习的最佳方式
查看>>
快来熟练使用 Mac 编程
查看>>
Node.js 入门:Express + Mongoose 基础使用
查看>>
plsql使用,为什么可以能看见其他用户的表
查看>>
一步步教你轻松学奇异值分解SVD降维算法
查看>>
使用pager进行分页
查看>>
UVA - 1592 Database
查看>>
Fine Uploader文件上传组件
查看>>
javascript中的传递参数
查看>>
objective-c overview(二)
查看>>
python查询mangodb
查看>>
consonant combination
查看>>
驱动的本质
查看>>
Swift的高级分享 - Swift中的逻辑控制器
查看>>
Swagger简单介绍
查看>>
Python数据分析入门案例
查看>>
vue-devtools 获取到 vuex store 和 Vue 实例的?
查看>>
Linux 中【./】和【/】和【.】之间有什么区别?
查看>>
内存地址对齐
查看>>
看门狗 (监控芯片)
查看>>