标题:qt在ubuntu22.04中使用move函数无法移动窗口?
作者:nylingying
日期:2023-11-12 12:36
内容:
qt 在ubuntu22.04中使用move函数无法移动窗口,哪们知道是怎么回事吗?
void MainWindow::mousePressEvent(QMouseEvent *event)
{
if( event->button() == Qt::LeftButton)
{
mousePress = true;
mousePoint = event->globalPos() - this->pos();
}
}
void MainWindow::mouseReleaseEvent(QMouseEvent *event)
{
mousePress = false;
}
void MainWindow::mouseMoveEvent(QMouseEvent *event)
{
if ( mousePress )
{
move( event->globalPos() - mousePoint);
}
}
move函数在这里无效,鼠标无法拖动窗口,在window下没发现问题。
#1 [20091001753 11-12 16:22]
Qt/C++开发经验小技巧286-290
http://www.qtcn.org/bbs/read-htm-tid-91882.html
287. 现在很多linux用wayland作为桌面显示,这样会出现一个问题,由于没有坐标系统,导致无边框窗体无法拖动和定位(一般是Qt6开始强制默认优先用wayland,之前Qt5是默认有xcb则优先用xcb),你需要在main函数前面加一行 qputenv("QT_QPA_PLATFORM", "xcb");
#2 回 20091001753 的帖子 [liudianwu 11-13 13:58]
20091001753:
Qt/C++开发经验小技巧286-290
http://www.qtcn.org/bbs/read-htm-tid-91882.html
287. 现在很多linux用wayland作为桌面显示,这样会出现一个问题,由于没有坐标系统,导致无边框窗体无法拖动和定位(一般是Qt6开始强制默认优先用wayland,之前Qt5是默认有xcb则优先用xcb),你需要在main函数前面加一行 qputenv("QT_QPA_PLATFORM", "xcb");
.......
卧槽大佬牛逼 右下角选择Ubuntu on Xorg。