我有一个子类和qgraphicsscene试图获得一个“正常”的函数内部的鼠标COORDS。 我只得到它的工作的“鼠标参与”的功能。 对不起,我的业余程序员。
对于exmample这里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);
}
我在几个月寻找了很多,但无法找到解决的办法,......也许我做了错误的做法,或其中有一些更容易possibilitie获得这种类型的函数中的鼠标COORDS?
谢谢! :-)