メインウィンドウの外にドラッグアンドドロップすると、標準の「停止」(交差円) カーソルを無効にすることはできますか? 私は非常に単純なコードを持っていますが、それで十分です。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";
}
}