• 222阅读
  • 2回复

[提问]qt在ubuntu22.04中使用move函数无法移动窗口? [复制链接]

上一主题 下一主题
离线nylingying
 

只看楼主 倒序阅读 楼主  发表于: 11-12
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下没发现问题
在线20091001753

只看该作者 1楼 发表于: 11-12
Qt/C++开发经验小技巧286-290
http://www.qtcn.org/bbs/read-htm-tid-91882.html

  1. 287. 现在很多linux用wayland作为桌面显示,这样会出现一个问题,由于没有坐标系统,导致无边框窗体无法拖动和定位(一般是Qt6开始强制默认优先用wayland,之前Qt5是默认有xcb则优先用xcb),你需要在main函数前面加一行 qputenv("QT_QPA_PLATFORM", "xcb");



(づ ̄ 3 ̄)づ
离线liudianwu

只看该作者 2楼 发表于: 11-13
回 20091001753 的帖子
20091001753:
Qt/C++开发经验小技巧286-290
http://www.qtcn.org/bbs/read-htm-tid-91882.html
  1. 287. 现在很多linux用wayland作为桌面显示,这样会出现一个问题,由于没有坐标系统,导致无边框窗体无法拖动和定位(一般是Qt6开始强制默认优先用wayland,之前Qt5是默认有xcb则优先用xcb),你需要在main函数前面加一行 qputenv("QT_QPA_PLATFORM", "xcb");

.......

卧槽大佬牛逼   右下角选择Ubuntu on Xorg。




专业各种自定义控件编写+UI定制+输入法定制+视频监控+工业控制+仪器仪表+嵌入式linux+各种串口网络通信,童叟无欺,量大从优,欢迎咨询购买定制!你正好需要,我正好专业!QQ:517216493 微信:feiyangqingyun Email:feiyangqingyun@163.com
群号:751439350
快速回复
限100 字节
 
上一个 下一个