窗体部件之QDesktopWidget

来源:互联网 发布:单片机usb协议 编辑:程序博客网 时间:2024/05/17 06:10
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();        }    }}
原创粉丝点击