3

メインウィンドウの外にドラッグアンドドロップすると、標準の「停止」(交差円) カーソルを無効にすることはできますか? 私は非常に単純なコードを持っていますが、それで十分です。PushButton をメイン ウィンドウの外にドラッグし、マウス ボタンを離すと、マウスが離された場所にウィンドウが表示されます。標準的な Windows Spy のように。では、メインウィンドウの外でカーソルをオーバーライドするにはどうすればよいですか?

ヘッダ

class DDButton : public QPushButton
{
    Q_OBJECT
public:
    explicit DDButton(QWidget *parent = 0);

signals:

public slots:

private:
    void mousePressEvent(QMouseEvent *event);
};

cpp

void DDButton::mousePressEvent(QMouseEvent *event)
{
     if (event->button() == Qt::LeftButton) {

         QDrag *drag = new QDrag(this);
         QMimeData *mimeData = new QMimeData;

         drag->setMimeData(mimeData);
         drag->setPixmap(cursor.pixmap());
         drag->setHotSpot(QPoint(0,0));

         //This block not working
         QCursor cursor(Qt::OpenHandCursor);
         drag->setDragCursor(cursor.pixmap(), Qt::IgnoreAction);

         Qt::DropAction dropAction = drag->exec();

         //Do something
         qDebug()<<"Press";
     }
}
4

0 に答える 0