首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何编写QSizeGrip等大小调整小部件的程序(不使用QSizeGrip)

如何编写QSizeGrip等大小调整小部件的程序(不使用QSizeGrip)
EN

Stack Overflow用户
提问于 2016-05-16 01:59:43
回答 1查看 550关注 0票数 0

Qt 中,我们可以通过将鼠标光标移动到蓝方形点(鼠标光标将更改为箭头形状)来调整小部件的大小,然后按下鼠标左键并拖动以改变小部件的大小。

我创建了一个小部件,我想为它实现这个调整大小的想法。我该怎么做呢?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-16 03:25:49

好吧,也许已经有一些已经实现的解决方案了,但是这就是我要做的:

  • 重载父部件的这三个函数: void mousePressEvent(QMouseEvent *event);void mouseReleaseEvent(QMouseEvent *event);void mouseMoveEvent(QMouseEvent *event);
  • 跟踪MousePressEvent(.)中的初始蓝色方阵位置。
  • 内部MouseMoveEvent(.)找出鼠标实际位置和初始位置之间的差异。(确保用户仍在单击;)。
  • 使用前面找到的增量并相应地调整小部件的大小。
  • 当用户使用mouseReleaseEvent(.)释放鼠标按钮时,请记住设置一个bool或其他东西。

使用这些步骤,您应该有一个良好的原型运行。

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

https://stackoverflow.com/questions/37245673

复制
相关文章

相似问题

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