本文整理汇总了C++中QDesktopWidget::grabWindow方法的典型用法代码示例。如果您正苦于以下问题:C++ QDesktopWidget::grabWindow方法的具体用法?C++ QDesktopWidget::grabWindow怎么用?C++ QDesktopWidget::grabWindow使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QDesktopWidget
的用法示例。
在下文中一共展示了QDesktopWidget::grabWindow方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: pix
CDlgScreenShot::CDlgScreenShot(QWidget *parent)
:QDialog(parent,
Qt::FramelessWindowHint
| Qt::X11BypassWindowManagerHint //这个标志是在x11下有用,查看帮助QWidget::showFullScreen()
| Qt::Tool
| Qt::WindowStaysOnTopHint
| Qt::CustomizeWindowHint
),
m_x(0),
m_y(0),
m_width(0),
m_height(0),
m_Editor(this)
{
this->setFixedSize(qApp->desktop()->size());
resize(qApp->desktop()->size());
setAttribute(Qt::WA_TranslucentBackground,true);
setCursor(Qt::CrossCursor);
#ifdef ANDROID
QDesktopWidget *pScreen = qApp->desktop();
QPixmap pix(pScreen->geometry().size());
pScreen->render(&pix);
m_imgDesktop = pix.toImage();
#else
WId id = qApp->desktop()->winId();
QScreen *pScreen = QGuiApplication::primaryScreen();
m_imgDesktop = pScreen->grabWindow(id,
0,
0,
pScreen->geometry().width(),//pScreen->availableGeometry().width(),
pScreen->geometry().height()//pScreen->availableGeometry().height()
).toImage();
#endif
initSelectParam();
m_Editor.hide();
connect(&m_Editor,SIGNAL(sigReset()),this,SLOT(onSigReset()));
connect(&m_Editor,SIGNAL(sigSelectImg(QPixmap)),this,SLOT(onSigSelectedImg(QPixmap)));
connect(&m_Editor,SIGNAL(sigCancel()),this,SLOT(onSigCancel()));
}