Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
qDebug() << size();
QDesktopWidget* desktopWidget = QApplication::desktop();
QRect deskAvailableGeometry = desktopWidget->availableGeometry();//获取可用桌面大小,不包括任务栏,QRect(0,0 1440x860)
QRect screenGeometry = desktopWidget->screenGeometry();//获取整个屏幕大小,包括任务栏,QRect(0,0 1440x900)
qDebug() << "deskAvailableGeometry: " << deskAvailableGeometry << ", screenGeometry: " << screenGeometry;
int width = desktopWidget->width();
int height = desktopWidget->height();//获取桌面的宽度和高度,1440x900
qDebug() << "width: " << width << ", height: " << height;
//抓取整个屏幕截图
// fullScreenPixmap = QPixmap::grabWindow(QApplication::desktop()->winId());//deprecated
// fullScreenPixmap = QPixmap::grabWidget(this);//deprecated
QScreen *screen = QGuiApplication::primaryScreen();
if (screen)
fullScreenPixmap = screen->grabWindow(0);//approved
// fullScreenPixmap = this->grab();//approved
//查看桌面窗口的儿子
foreach (QObject *object, desktopWidget->children()) {
if(object->isWidgetType())
{
qDebug() << "widget";
QWidget *w = static_cast<QWidget*>(object);
qDebug() << w->geometry();
}
if(object->isWindowType())
{
qDebug() << "window";
QWindow *w = static_cast<QWindow*>(object);
qDebug() << w->geometry();
}
}
}
窗体部件之QDesktopWidget
最新推荐文章于 2024-06-28 11:12:19 发布