如何编写像Qt Creator一样调整大小调整小部件(不使用QSizeGrip)

时间:2016-05-16 01:59:43

标签: c++ qt

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

enter image description here

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

1 个答案:

答案 0 :(得分:3)

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

  • 重载父窗口小部件的三个函数:

    void    mousePressEvent(QMouseEvent *event);
    void    mouseReleaseEvent(QMouseEvent *event);
    void    mouseMoveEvent(QMouseEvent *event);
    
  • 跟踪MousePressEvent(...)中的初始蓝色方形帖子。

  • 在MouseMoveEvent(...)内部找出实际鼠标位置与初始鼠标位置之间的差异。 (确保用户仍在点击;))。

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

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

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