2011-12-28 4 views
2

X11에서 Qt는 풀 컬러 아이콘 테마를 허용하는 Xcursor 라이브러리를 지원합니다. 나는 커서를 변경할 수 있습니다 QWS에서 커서 모양을 변경하려면 어떻게해야합니까?

QPixmap cursor(":/res/cursor.png"); 
mCursor = QCursor(cursor,-1,-1); 
setCursor(mCursor); 

그러나 QWS에

, 효과는 매우 그치 QWS의 커서 모양을 변경할 수 있습니다. 풀 컬러 커서를 사용하기 위해 arm 9 시스템에 libxcursor/xcursor-dev 또는 이와 유사한 것을 설치할 수 없습니다. 그래서 Qt-embedded-opensoure를 수정하려고합니다.

/* src/corelib/global/qnamespace.h */ 
    enum CursorShape { 
     ArrowCursor, 
     UpArrowCursor, 
     CrossCursor, 
     WaitCursor, 
     IBeamCursor, 
     SizeVerCursor, 
     SizeHorCursor, 
     SizeBDiagCursor, 
     SizeFDiagCursor, 
     SizeAllCursor, 
     BlankCursor, 
     SplitVCursor, 
     SplitHCursor, 
     PointingHandCursor, 
     ForbiddenCursor, 
     WhatsThisCursor, 
     BusyCursor, 
     OpenHandCursor, 
     ClosedHandCursor, 
     LastCursor = ClosedHandCursor, 
     BitmapCursor = 24, 
     CustomCursor = 25 
}; 

ArrowCursor를 MyCursor로 바꾸고 싶습니다. 어떻게 대체 할 수 있습니까? 그것은 .png입니까? 또는 .jpg? 그것에 대해 어떤 자원도 찾을 수 없습니다. 답장을 보내 주셔서 감사합니다.

답변

2

당신은 그것을 하드 코딩 할 수 여기에 완전한 프로그램을 설명하는 것입니다.

#include <QtGui/QApplication> 
#include <QtGui/QWidget> 
#include <QtGui/QCursor> 

static const char *const cursor_xpm[] = { 
    "15 15 3 1", 
    " c None", 
    ". C#000000", 
    "* C#aa0000", 
    "  .....  ", 
    " ..*****.. ", 
    " . *** . ", 
    " . *** . ", 
    " . *** . ", 
    ".  ***  .", 
    ". ***** .", 
    ".*************.", 
    ". ***** .", 
    ".  ***  .", 
    " . *** . ", 
    " . *** . ", 
    " . *** . ", 
    " ..*****.. ", 
    "  .....  " 
}; 

int main(int argc, char* argv[]){ 

    QApplication app(argc, argv); 
    QCursor myCursor(cursor_xpm); 
    QWidget widget; 
    widget.setCursor(myCursor); 
    widget.show(); 
    return app.exec(); 
} 

는 값이 너무 어려워하지 않아야 얻을 xpmpng 변환.

+0

답장을 보내 주셔서 감사합니다. 그러나 QWS에서 커서는 여전히 풀 컬러가 아니며 흰색과 검정색 만 빨간색이 아닙니다 (# aa0000). – Carina

+0

다른 모든 것들도 흑백입니까? 환경에 대해 더 자세히 설명해 주시겠습니까? – Arlen

+0

"흑백 만"이라는 말은 커서가 흑백 인 유일한 것입니까? 또는 앱의 모든 내용이 흑백임을 의미합니까? 제발 당신을 명확히 해 주시겠습니까? 그리고 실제 하드웨어 (장치 이름)는 무엇입니까? – Arlen