回复: 关于一个按钮拉伸的大小问题
#6 回 彩阳 的帖子 [qazaq408 12-21 22:33]
彩阳:以前实现过,也回答了别人的问题。
思路是重载resizeEvent(),将其中设置长宽相等即可。切忌不要造成死循环。 (2014-12-21 21:27)
试过重载resizeEvent()函数,会造成无限循环的
#7 [benbenmajia 12-22 10:57]
你自己实现过了这个时间之后就把事件ignore
#8 [qazaq408 04-26 15:32]
人工置顶
问下各位有没有解决这个问题的办法,我现在又遇到这个问题了,当初就没找到办法
#9 [lemonzll 04-26 16:04]
void Button::resizeEvent(QResizeEvent *event)
{
auto sz = event->size();
if (sz.width() != sz.height()) {
sz.setHeight(sz.width());
this->resize(sz);
}
}
我这样试了下,感觉应该可以的
#10 回 lemonzll 的帖子 [qazaq408 04-27 11:20]
lemonzll:void Button::resizeEvent(QResizeEvent *event)
{
auto sz = event->size();
if (sz.width() != sz.height()) {
sz.setHeight(sz.width());
....... (2017-04-26 16:04)
这样不行的,Qt对于resizeEvent()设定有点特别,当窗体[改变大小完成后再调用resizeEvent(),所以在resizeEvent()不能改变窗体的大小,否则就会出现无限循环,即