QMouseEvent
хранит целочисленное значение положения мыши. Однако он имеет элемент защиты, в котором хранится значение поплавка положения мыши. Как я могу получить значение float?Как я могу получить доступ к защищенному члену в QMouseEvent, чтобы получить значение float в позиции мыши? [Разработчики Qt]
Я пробовал наследовать QMouseEvent
, но, к сожалению, я все время получаю это сообщение об ошибке.
error: C2511: 'QMouseEventF::QMouseEventF(QWidget *)' : overloaded member function not found in 'QMouseEventF'
Это мой файл заголовка:
#ifndef QMOUSEEVENTF_H
#define QMOUSEEVENTF_H
#include<QMouseEvent>
class QMouseEventF : QMouseEvent
{
Q_OBJECT
public:
QMouseEventF(QObject* parent = 0);
~QMouseEventF();
qreal GetX();
};
#endif // QMOUSEEVENTF_H
А вот унаследованный класс:
#include "qmouseeventf.h"
QMouseEventF::QMouseEventF(QWidget *parent): QMouseEvent(parent)
{
}
QMouseEventF::~QMouseEventF()
{
}
qreal QMouseEventF::GetX()
{
return this->s.rx();
}
Что относительно QMouseEvent :: windowPos() и QMouseEvent :: screenPos()? Они являются общедоступными – demonplus
Вы правы, но они являются целыми значениями, где мне нужно значение float. Значение поплавка хранится в защищенном элементе. – Nai
Оба возвращают QPointF http://doc.qt.io/qt-5/qpointf.html#setX. Это точность с плавающей запятой – demonplus