DtkWidget
DTK Widget module
载入中...
搜索中...
未找到
Dtk::Widget::DPlatformWindowHandle类 参考
类 Dtk::Widget::DPlatformWindowHandle 继承关系图:

Public 成员函数

 DPlatformWindowHandle (QWidget *widget, QObject *parent=nullptr)
 DPlatformWindowHandle::DPlatformWindowHandle.
 

静态 Public 成员函数

static void enableDXcbForWindow (QWidget *widget)
 DPlatformWindowHandle::enableDXcbForWindow. 这是为便于使用而提供的一个重载成员函数.与上面的函数相比,它接受不同类型的参数.这是一个针对 QWidget 类型主窗口的重载函数,此函数将设置 QWidget 对象的 Qt::WA_NativeWindow 标志,之后将其 QWidget::windowHandle 对象作为参数传递给 enableDXcbForWindow(QWindow *)。
 
static void enableDXcbForWindow (QWidget *widget, bool redirectContent)
 DPlatformWindowHandle::enableDXcbForWindow 这是为便于使用而提供的一个重载成员函数.与上面的函数相比,它接受不同类型的参数.这只是一个重载函数 widget redirectContent
 
static bool isEnabledDXcb (const QWidget *widget)
 DPlatformWindowHandle::isEnabledDXcb.
 
static bool setWindowBlurAreaByWM (QWidget *widget, const QVector< WMBlurArea > &area)
 
static bool setWindowBlurAreaByWM (QWidget *widget, const QList< QPainterPath > &paths)
 DPlatformWindowHandle::setWindowBlurAreaByWM. 这是为便于使用而提供的一个重载成员函数.与上面的函数相比,它接受不同类型的参数.这只是一个重载函数,如果 widget 的 QWidget::windowHandle 为 nullptr 则返回 false, 否则返回 setWindowBlurAreaByWM(wiget->windowHandle(), paths) 的值。示例:
 
static bool setWindowWallpaperParaByWM (QWidget *widget, const QRect &area, WallpaperScaleMode sMode, WallpaperFillMode fMode)
 DPlatformWindowHandle::setWindowWallpaperParaByWM.
 

详细描述

\inmodule dtkwidget

构造及析构函数说明

◆ DPlatformWindowHandle()

Dtk::Widget::DPlatformWindowHandle::DPlatformWindowHandle ( QWidget *  widget,
QObject *  parent = nullptr 
)
explicit

DPlatformWindowHandle::DPlatformWindowHandle.

同 DPlatformHandle::DPlatformHandle(QWindow *window, QObject *parent), 这只是针对 QWidget 对象的重载,将 widget 对象传递给 enableDXcbForWindow。

widget 要开启DTK风格的主窗口 parent DPlatformWindowHandle 对象的父对象

参见
Dtk::Gui::DPlatformHandle::enableDXcbForWindow()

成员函数说明

◆ enableDXcbForWindow() [1/2]

void Dtk::Widget::DPlatformWindowHandle::enableDXcbForWindow ( QWidget *  widget)
static

DPlatformWindowHandle::enableDXcbForWindow. 这是为便于使用而提供的一个重载成员函数.与上面的函数相比,它接受不同类型的参数.这是一个针对 QWidget 类型主窗口的重载函数,此函数将设置 QWidget 对象的 Qt::WA_NativeWindow 标志,之后将其 QWidget::windowHandle 对象作为参数传递给 enableDXcbForWindow(QWindow *)。

widget

参见
DPlatformWindowHandle::enableDXcbForWindow(QWindow *window)

◆ enableDXcbForWindow() [2/2]

void Dtk::Widget::DPlatformWindowHandle::enableDXcbForWindow ( QWidget *  widget,
bool  redirectContent 
)
static

DPlatformWindowHandle::enableDXcbForWindow 这是为便于使用而提供的一个重载成员函数.与上面的函数相比,它接受不同类型的参数.这只是一个重载函数 widget redirectContent

参见
DPlatformWindowHandle::enableDXcbForWindow(QWidget*)
DPlatformWindowHandle::enableDXcbForWindow(QWindow *, bool)

◆ isEnabledDXcb()

bool Dtk::Widget::DPlatformWindowHandle::isEnabledDXcb ( const QWidget *  widget)
static

DPlatformWindowHandle::isEnabledDXcb.

这只是一个重载函数,如果 widget 的 QWidget::windowHandle 为 nullptr 则返回 false, 否则返回 isEnabledDXcb(widget->windowHandle()) 的值。

widget

返回

◆ setWindowBlurAreaByWM()

bool Dtk::Widget::DPlatformWindowHandle::setWindowBlurAreaByWM ( QWidget *  widget,
const QList< QPainterPath > &  paths 
)
static

DPlatformWindowHandle::setWindowBlurAreaByWM. 这是为便于使用而提供的一个重载成员函数.与上面的函数相比,它接受不同类型的参数.这只是一个重载函数,如果 widget 的 QWidget::windowHandle 为 nullptr 则返回 false, 否则返回 setWindowBlurAreaByWM(wiget->windowHandle(), paths) 的值。示例:

QList<QPainterPath> path_list;
QPainterPath path;
QFont font;
font.setPixelSize(100);
font.setBold(true);
path.addText(0, 150, font, "deepin");
path_list.append(path);
DPlatformWindowHandle::setWindowBlurAreaByWM(&w, path_list);
QSurfaceFormat format = w.format();
format.setAlphaBufferSize(8);
w.setFormat(format);
w.resize(400, 300);
w.setAttribute(Qt::WA_TranslucentBackground);
w.show();
The DMainWindow class provides a main application window.
Definition dmainwindow.h:20

paths

返回
注解
需要对 widget 添加 Qt::WA_TranslucentBackground 使其背景透明
参见
QWidget::setAttribute

◆ setWindowWallpaperParaByWM()

bool Dtk::Widget::DPlatformWindowHandle::setWindowWallpaperParaByWM ( QWidget *  widget,
const QRect &  area,
WallpaperScaleMode  sMode,
WallpaperFillMode  fMode 
)
static

DPlatformWindowHandle::setWindowWallpaperParaByWM.

这只是一个重载函数,如果 widget 的 QWidget::windowHandle 为 nullptr 则返回 false, 否则返回 setWindowWallpaperParaByWM(wiget->windowHandle(), area) 的值。示例:

DMainWindow w;.000000
QRect area;
DPlatformWindowHandle::WallpaperScaleMode sMode
DPlatformWindowHandle::WallpaperFillMode fMode
area.x = 50;
area.y = 50;
area.width = 200;
area.height = 200;
area.xRadius = 10;
area.yRaduis = 10;
sMode = WallpaperScaleFlag::FollowWindow;
fMode = WallpaperFillFlag::PreserveAspectCrop;
w.resize(300, 300);
w.setAttribute(Qt::WA_TranslucentBackground);
w.show();
static bool setWindowWallpaperParaByWM(QWidget *widget, const QRect &area, WallpaperScaleMode sMode, WallpaperFillMode fMode)
DPlatformWindowHandle::setWindowWallpaperParaByWM.
Definition dplatformwindowhandle.cpp:233

widget area sMode fMode

返回
注解
需要对 widget 添加 Qt::WA_TranslucentBackground 使其背景透明
参见
QWidget::setAttribute

该类的文档由以下文件生成: