Создание окна рабочий стол в XLib/Qt

Я пытаюсь записать простую программу для действия как мое настольное образование в QT, я заставил все это хорошо работать кроме создания его Настольный Виджет. Я понятия не имею о том, как сделать это, я не возражаю использовать XLib или QT для того, чтобы сделать это, но если бы у кого-либо есть некоторые предложения, я был бы очень счастлив.

5
задан Tom Leese 7 June 2010 в 18:37
поделиться

1 ответ

Я создал простой пример, который будет заливать фон рабочего стола белым цветом. Его легко заставить рисовать изображение.

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);
        }
};

Проблема этого решения в том, что оно полностью закрашивает все, что ваше окружение рабочего стола рисует на фоне (включая значки, плазмоиды...).

Если вы просто хотите установить новое фоновое изображение программно, я бы проверил, есть ли у вашего DE API для этого.

3
ответ дан 15 December 2019 в 06:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: