Я подклассифицировал qgraphicsscene и пытаюсь получить координаты мыши внутри «нормальной» функции. Я только заставляю его работать с функцией "задействована мышь". Извините, я программист-любитель.
Например, работает scenePos ():
void mousePressEvent(QGraphicsSceneMouseEvent *event)
{
// qDebug() << "Custom scene clicked.";
if(event->modifiers() == Qt::ControlModifier) {
if(event->button() == Qt::LeftButton) {
QPointF pos = {event->scenePos().x(), 70};
addChordnueve(pos); // crea 1 item at mouse x e y = 70
// } if(event->modifiers() == Qt::ControlModifier & event->modifiers() == Qt::ShiftModifier) {
qDebug() << "Control!!!";}}
Здесь это не работает вообще, но QCursor :: pos () дает "странные" позиции:
void preaddExtChord()
{
auto *hellos = scenePos(); //<- It doesn't works
int xplace = QCursor::pos().x()-620;
int yplace = QCursor::pos().y()-380;
QGraphicsSimpleTextItem *item = new QGraphicsSimpleTextItem("n");
item->setFont(QFont ("omheads", 20));
item->setPos(xplace, yplace);
addItem(item);
}
Я искал много месяцев, но не смог найти решение ...
может быть, я делаю неправильный подход, или есть более простая возможность получить координаты мыши внутри этого типа функций?
Спасибо! : -)