首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在一个区域内移动禁用窗口?

如何在一个区域内移动禁用窗口?
EN

Stack Overflow用户
提问于 2016-05-31 11:39:59
回答 1查看 209关注 0票数 0

我试图在Linux上用QT编写一个电路设计软件。我使用KDE 5等离子桌面和QTCreator作为IDE。

我试着用QFrame paintEvent在上面画画,但当我抓住QFrame里面的窗户时,它就动了。

我知道QGraphicsView,但我不能做一个定制的类,并在此基础上推广它(它没有列出)。

如何从容器(QFrame、QGraphicsView或其他任何东西)创建一个自定义类,其中我可以覆盖画图事件,而且如果我抓住它,它也不会移动窗口。

为我糟糕的英语感到抱歉。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-31 12:54:58

QGraphicsView继承了QAbstractScrollArea,后者继承了QFrame本身。

因此,您可以将QFrame保持在表单中,并将其提升到画布类,但只需让您的画布类继承QGraphicsView

尽管如此,我的Qt在行为上与OP有两个不同之处(但我不使用KDE):

  • 点击一个QFrame并移动鼠标对我来说并不能移动整个窗口。我想通过在画布类中重新实现void mousePressEvent ( QMouseEvent * event )并给它一个空代码来改变OP的这种行为。(文档)
  • 我可以将QGraphicsView放在ui文件中,然后右击它们,将它们提升到另一个自定义类。

编辑:找到为什么窗口在KDE上移动的原因

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37544744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档