Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: Dr.Vlad от Июль 03, 2012, 17:47



Название: Непонятен механизм работы функции fromX11Pixmap(). Нужно взять системную иконку.
Отправлено: Dr.Vlad от Июль 03, 2012, 17:47
 :) Здравствуйте.
Мне необходимо перевести системную иконку QCursor в QPixmap.
Пользуюсь методом QCursor::handle() и функцией
fromX11Pixmap(Qt::HANDLE pixmap, QPixmap::ShareMode mode)

Текстовка такая:
QCursor cursor; cursor.setShape(Qt::UpArrowCursor);
    this->setCursor(cursor);
    QPixmap pixmap = QPixmap::fromX11Pixmap(cursor.handle());

    qDebug() << "CURSOR" << pixmap.size() << cursor.handle();


К сожалению, в консоль выводит нижеследующее сообщение об ошибке:

X Error: BadDrawable (invalid Pixmap or Window parameter) 9
  Major opcode: 14 (X_GetGeometry)
  Resource id:  0xe00012
X Error: BadWindow (invalid Window parameter) 3
  Major opcode: 3 (X_GetWindowAttributes)
  Resource id:  0xeb1a085
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
  Extension:    155 (RENDER)
  Minor opcode: 4 (RenderCreatePicture)
  Resource id:  0xe00012
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
  Major opcode: 73 (X_GetImage)
  Resource id:  0xe00012
libpng error: Image width or height is zero in IHDR
X Error: RenderBadPicture (invalid Picture parameter) 179
  Extension:    155 (RENDER)
  Minor opcode: 7 (RenderFreePicture)
  Resource id:  0xa00013

CURSOR QSize(1073817344, 134531918) 10485778


В чём ошибка, что я делаю не так?


Название: Re: Непонятен механизм работы функции fromX11Pixmap(). Нужно взять системную иконку.
Отправлено: navrocky от Июль 04, 2012, 15:11
QCursor::pixmap()   :-\


Название: Re: Непонятен механизм работы функции fromX11Pixmap(). Нужно взять системную иконку.
Отправлено: _OLEGator_ от Июль 04, 2012, 16:42
Код
C++ (Qt)
QPixmap QCursor::pixmap () const
Returns the cursor pixmap. This is only valid if the cursor is a pixmap cursor.