gpt4 book ai didi

c++ - 在 XLib/Qt 中使窗口成为桌面

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:13:34 24 4
gpt4 key购买 nike

我正在尝试编写一个简单的程序来充当我在 Qt 中的桌面背景,除了将其设为桌面小部件之外,我已经使它一切正常。我不知道如何做到这一点,我不介意使用 XLib 或 Qt 来做到这一点,但如果有人有一些建议,我会很高兴。

最佳答案

我创建了一个将桌面背景填充为白色的简单示例。让它绘制图像很容易。

class DesktopWidget : public QWidget
{
Q_OBJECT

public:

DesktopWidget()
{
setAttribute(Qt::WA_X11NetWmWindowTypeDesktop);
resize(QApplication::desktop()->size());
}

protected:

void paintEvent(QPaintEvent*)
{
QPainter painter(this);
painter.fillRect(geometry(), Qt::white);
}
};

此解决方案的问题在于它完全覆盖了您的桌面环境在背景中绘制的所有内容(包括图标、等 ionic 团...)。

如果您只是想以编程方式设置新的背景图像,我会检查您的 DE 是否有相应的 API。

关于c++ - 在 XLib/Qt 中使窗口成为桌面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2992144/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com