我这样做
ui.label->geometry().setWidth(12);
然而,我得到的错误是
Error 1 error C2662: 'QRect::setWidth' : cannot convert 'this' pointer from 'const QRect' to 'QRect &'
有关如何解决此问题的任何建议?
答案 0 :(得分:1)
Geometry返回一个const QRect引用,因此你需要像这样使用它:
QRect r = ui.label->geometry();
r.setWidth(12);
ui.label->setGeometry(r);
或者您可以使用调整大小:
ui.label->resize(12, ui.label->height());
但是你也可以告诉我们你想要完成什么,也许我们可以找到一个解决方案,将QLabel放到一个布局中,你不需要手动调整它。
答案 1 :(得分:0)
geometry()
返回对QRect的const引用,因此它只能用作只读信息。
不是很漂亮的方式,但您可以尝试使用与参数相同的期望值调用setMinimumWidth()
,setMaximumWidth()
函数。
实际上,尽管标签的内容非常可疑,但仍然需要调整标签大小。