我有一个Qt::Popup
标记的窗口(没有标题栏和关闭等按钮),并希望通过拖动\点击非标题栏区域来移动....
在Win32上,解决方案可能是WM_NCLBUTTONDOWN,但我的要求是跨平台。
答案 0 :(得分:16)
尝试此操作以手动移动窗口:
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);
}
}
并在某处声明QPoint mpos
。
答案 1 :(得分:5)
if (event->buttons() && Qt::LeftButton) {
此条件适用于每个鼠标按钮
也许你记住了这个
if (event->buttons() & Qt::LeftButton) {