以下片段导致我的编译产生“错误:传递'const QRect'作为'void QRect :: setHeight(int)'的'this'参数'丢弃限定符[-fpermissive]”。
我如何解决这个问题,而且我注意到如果我要更换h - = 80;使用h--;,编译器不会抱怨。
int h = this->geometry().height();
h -= 80;
ui->datumTable->geometry().setHeight(h);
答案 0 :(得分:2)
geometry()
returns a const reference to a QRect
object inside QTableWidget
。
它应该是一个只读的 getter 。您应该使用setGeometry
setter 函数复制,修改并重新设置:
QRect rect = this->geometry();
int h = rect.height();
rect.setHeight(h - 80);
ui->datumTable->setGeometry(rect);
答案 1 :(得分:1)
QRect g = this->geometry().height();
g.setHeight(g.height()-80);
ui->datumTable->setGeometry(g);
答案 2 :(得分:0)
geometry()
中的datumTable
似乎会返回const QRect
。除非还有非const版本,否则不是一个简单的修复。