2010-06-07 5 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); 
     } 
}; 

이 솔루션의 문제는 완전히 데스크탑 환경 (... 아이콘, Plasmoid를 포함) 백그라운드에서 그리는 모든 이상 칠 것입니다.

그냥 새 배경 이미지를 프로그래밍 방식으로 설정하려는 경우 사용자의 DE에 API가 있는지 확인합니다.