2010-06-07 83 views
4

我想写一个简单的程序来充当我在Qt中的桌面背景,除了使它成为一个桌面小工具外,我已经使它工作得很好。我不知道如何做到这一点,我不介意使用XLib或Qt来做到这一点,但如果有人有一些建议,我会很高兴。制作窗口在XLib/Qt的桌面

回答

2

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

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。