源客V 2023-08-25 15:27 采纳率: 62.5%
浏览 38

Qt嵌入无边框三方程序如何防止其拖动

Qt嵌入无边框三方程序如何防止其还能拖动?通过createWindowContainer将windows的程序界面嵌入到qt的widget里,但是对于无边框窗体,嵌入后还能在widget里拖动,我不想让它还能拖动,老老实实固定在widget里不好吗。试了很多方法都没成功,鼠标在三方窗体部分属于非工作区域,没法检测到鼠标移动,无法阻止,没有成功。使用遮罩覆盖也没有成功,有没有其他办法呢,让它固定在图一的样子,不让他拖动,不能出现图二的样子。

    WId wid = (WId)hwnd;
    QWindow* window = QWindow::fromWinId(wid);
    window->setFlags(window->flags() | Qt::CustomizeWindowHint | Qt::WindowTitleHint);
    window->setSurfaceType(QWindow::OpenGLSurface);    
    QWidget* widget = QWidget::createWindowContainer(window);
    widget->setAttribute(Qt::WA_NativeWindow);
    widget->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
    widget->setFixedSize(width, height);
    widget->setWindowTitle(title);
    widget->setWindowIcon(getWindowIcon(hwnd));
    widget->show;

img

img

  • 写回答

3条回答 默认 最新

  • 波塞冬~ 2023-08-25 16:43
    关注

    让第三方的widget成为你主窗口的子类,然后在主窗口事件中处理。

    评论

报告相同问题?

问题事件

  • 创建了问题 8月25日

悬赏问题

  • ¥15 verilog 非阻塞赋值下的移位拼接错误
  • ¥100 两个按钮控制一个LED
  • ¥15 用C语言写离散数学相关问题
  • ¥30 如何用python的GephiStreamer连接到gephi中,把Python和Gephi的具体操作过程都展示,重点回答Gephi软件的调试,以及如果代码的端口在浏览器中无法显示怎么处理
  • ¥15 ansys机翼建模肋参数
  • ¥15 Sumo软件无法运行
  • ¥15 如何在vscode里搭建stata的编辑环境?
  • ¥15 dify知识库创建问题
  • ¥15 如何用C#的chart画1000万个点不卡顿
  • ¥15 爬虫技术找到网上看过房源客户的电话