Qt 4:移动没有标题栏的窗口

yol*_*olo 6 qt window qt4 draggable popupwindow

我有一个Qt::Popup标记的窗口(没有标题栏和关闭等按钮),并希望通过拖动\点击非标题栏区域移动....

在Win32上,解决方案可能是WM_NCLBUTTONDOWN,但我的要求是跨平台.

Kar*_*ten 17

尝试此操作手动移动窗口:

void PopupWindow::mousePressEvent(QMouseEvent *event){
    mpos = event->pos();
}

void PopupWindow::mouseMoveEvent(QMouseEvent *event){
    if (event->buttons() & Qt::LeftButton) {
        QPoint diff = event->pos() - mpos;
        QPoint newpos = this->pos() + diff;

        this->move(newpos);
    }
}
Run Code Online (Sandbox Code Playgroud)

并在QPoint mpos某处宣布.


小智 5

if (event->buttons() && Qt::LeftButton) {
Run Code Online (Sandbox Code Playgroud)

每个鼠标按钮都适用这种情况

也许你记得这个

if (event->buttons() & Qt::LeftButton) {
Run Code Online (Sandbox Code Playgroud)