关于QT弹出对话框光标定位问题

本文只是简单的实现了两种光标定位的问题:

(1)打开对话框后,在对话框里面光标定位到指定QWidget上面;(本文假设跳转带okbutton上面)

    QWidget *widget = okbutton;
    QPoint widget_center = widget->rect().center();(跳到okbutton中间上)
    QCursor::setPos(widget->mapToGlobal(widget_center));

(2)操作后需要弹出类似于(警告,确认、通知等对话框)光标跳转到新对话框上指定按钮上(假设为okbutton)

在(警告,确认、通知等对话框)中重载resizeEvent(QResizeEvent *event)函数;

void WarningDialog::resizeEvent(QResizeEvent *event)
{
    QDialog::resizeEvent(event);
    int win_frame_height = frameGeometry().height() - height();(相对位置)
    QRect rect = okbutton->rect();
    QPoint button_center = rect.center();
    button_center.setY(button_center.y() - win_frame_height);
    QCursor::setPos(okbutton->mapToGlobal(button_center));
}

你可能感兴趣的:(关于QT弹出对话框光标定位问题)