繁体   English   中英

如何编写Qt Creator之类的调整大小小部件的程序(不使用QSizeGrip)

[英]How to program resize widget like Qt Creator (Not using QSizeGrip)

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

在此处输入图片说明

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

好的,所以可能有一些已经实施的解决方案,但是我将如何处理:

  • 重载父小部件的这三个功能:

     void mousePressEvent(QMouseEvent *event); void mouseReleaseEvent(QMouseEvent *event); void mouseMoveEvent(QMouseEvent *event); 
  • 跟踪MousePressEvent(...)内的初始蓝色正方形位置。

  • 在MouseMoveEvent(...)内部,可以发现实际鼠标位置与初始鼠标位置之间的差异。 (确保用户仍在单击;))。

  • 使用先前找到的增量,并相应地调整小部件的大小。

  • 当用户使用mouseReleaseEvent(...)释放鼠标按钮时,请记住要设置布尔值或其他内容。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM