【问题标题】:Qt C++ Minimum size of resizable rectangleQt C++ 可调整大小矩形的最小尺寸
【发布时间】:2013-04-03 21:29:44
【问题描述】:

在我的应用程序中,我有一个可以调整大小的矩形(手动实现鼠标事件来调整大小)。我的问题是我可以调整任何大小的矩形。如何实现禁止在 100x100 像素以下调整大小的功能。换句话说,我想要设置矩形最小尺寸的函数,这样用户就不能在 100x100 像素以下调整该矩形的大小。如果需要,我将提供我的部分代码,但现在我需要想法或伪代码。

【问题讨论】:

  • 请阅读有关 sizeHint 的文档
  • 这是一篇不错的文章stackoverflow.com/questions/4553304/…
  • 谢谢,但是矩形没有 sizeHint,我用鼠标调整矩形的大小,它的大小不受其他组件或主窗口大小的影响
  • resizeEvent 怎么样?
  • 在鼠标事件中添加大小约束,您正在计算矩形大小。

标签: c++ qt


【解决方案1】:

如果您已经编写了调整矩形大小的代码,您只需添加如下内容:

QRect r = oldRect();
switch (border)
{
    case Left:
        r.setLeft(newLeftPos());
        if (r.width() < minimumWidth())
            r.setLeft(r.right() - minimumWidth());
    break;

    ...

}
draw(r);

【讨论】:

  • 左边的情况是什么。当我移动矩形的左侧时会出现这种情况吗?
  • 没错。应该为矩形的所有其他边(和角,如果您愿意)编写相同的代码。
  • 谢谢,你的想法非常适合我的应用
猜你喜欢
  • 1970-01-01
  • 2017-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-23
  • 1970-01-01
  • 2020-11-16
  • 1970-01-01
相关资源
最近更新 更多