2010-06-07 115 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。