Qt C++ 可调整大小矩形的最小尺寸
Posted
技术标签:
【中文标题】Qt C++ 可调整大小矩形的最小尺寸【英文标题】:Qt C++ Minimum size of resizable rectangle 【发布时间】:2013-04-03 21:29:44 【问题描述】:在我的应用程序中,我有一个可以调整大小的矩形(手动实现鼠标事件来调整大小)。我的问题是我可以调整任何大小的矩形。如何实现禁止在 100x100 像素以下调整大小的功能。换句话说,我想要设置矩形最小尺寸的函数,这样用户就不能在 100x100 像素以下调整该矩形的大小。如果需要,我将提供我的部分代码,但现在我需要想法或伪代码。
【问题讨论】:
请阅读有关 sizeHint 的文档 这是一篇不错的文章***.com/questions/4553304/… 谢谢,但是矩形没有 sizeHint,我用鼠标调整矩形的大小,它的大小不受其他组件或主窗口大小的影响 resizeEvent 怎么样? 在鼠标事件中添加大小约束,您正在计算矩形大小。 【参考方案1】:如果您已经编写了调整矩形大小的代码,您只需添加如下内容:
QRect r = oldRect();
switch (border)
case Left:
r.setLeft(newLeftPos());
if (r.width() < minimumWidth())
r.setLeft(r.right() - minimumWidth());
break;
...
draw(r);
【讨论】:
左边的情况是什么。当我移动矩形的左侧时会出现这种情况吗? 没错。应该为矩形的所有其他边(和角,如果您愿意)编写相同的代码。 谢谢,你的想法非常适合我的应用以上是关于Qt C++ 可调整大小矩形的最小尺寸的主要内容,如果未能解决你的问题,请参考以下文章