我在Qt中进行编程,并且在事件处理程序之间编写了以下代码:
void PaintedTextBrowser::mouseMoveEvent(QMouseEvent *ev)
{
...
QPoint *point = new QPoint(0, ev->pos.y());
...
}
而且我得到编译错误:
但是当我将代码修改为:
void PaintedTextBrowser::mouseMoveEvent(QMouseEvent *ev)
{
...
QPoint pos = ev->pos();
QPoint *point = new QPoint(0, pos.y());
...
}
它工作正常。我在这里想念的概念是什么?
最佳答案
实际上,该错误非常明显-QMouseEvent::pos
不是一个类,it's a function返回对QPoint
的引用,因此您不能在其上使用点运算符。
我想你想写:
QPoint *point = new QPoint(0, ev->pos().y());
// ^^
// note the parentheses
关于c++ - 错误的含义是什么: 'ev->QMouseEvent::pos'没有类类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15031809/