我在Qt编程,在我写的这个事件处理程序之间:
void PaintedTextBrowser::mouseMoveEvent(QMouseEvent *ev)
{
...
QPoint *point = new QPoint(0, ev->pos.y());
...
}
我在编译时遇到错误:
错误:'ev-> QMouseEvent :: pos'没有类类型
但是当我将代码修改为:
void PaintedTextBrowser::mouseMoveEvent(QMouseEvent *ev)
{
...
QPoint pos = ev->pos();
QPoint *point = new QPoint(0, pos.y());
...
}
它工作正常。我在这里缺少什么概念?
答案 0 :(得分:5)
错误很明显,实际上 - QMouseEvent::pos
不是一个类,it's a function返回对QPoint
的引用,因此您不能在其上使用点运算符。
我想你想写:
QPoint *point = new QPoint(0, ev->pos().y());
// ^^
// note the parentheses
答案 1 :(得分:3)
似乎你缺少括号:
void PaintedTextBrowser::mouseMoveEvent(QMouseEvent *ev)
{
...
QPoint *point = new QPoint(0, ev->pos().y());
// ^^
...
}