快速问题,为什么:
void roiwindow::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
{
QGraphicsScene::mouseMoveEvent(event);
qDebug() << event->button();
}
返回 0 而不是 1 时, 我将鼠标左键按住鼠标左键, 在图形环境中移动光标。 是否无论如何要让此返回 1, 这样我就能辨别用户何时拖动鼠标过图形环境。 谢谢 。
快速问题,为什么:
void roiwindow::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
{
QGraphicsScene::mouseMoveEvent(event);
qDebug() << event->button();
}
返回 0 而不是 1 时, 我将鼠标左键按住鼠标左键, 在图形环境中移动光标。 是否无论如何要让此返回 1, 这样我就能辨别用户何时拖动鼠标过图形环境。 谢谢 。
尽管 Spyke s 回答是正确的, 您可以只使用 buttons () code > () code> (https://qt- project. org/doc/ qt-4.8/qmouseevent.html# buttons" rel=“ noreferrer” >docs )。
button ()
返回事件启动时的按键, 这正是您在事件启动后所选择的 。
您可以查看 buttons
属性是否按下左键 :
if ( e->buttons() & Qt::LeftButton )
{
// left button is held down while moving
}
希望那有帮助!
返回的值总是 Qt:: < a href=> http://qt- project.org/doc/qt-4.8/qmouseevent.html# button" rel=“nofollow” >mouse move move events 。 您可以使用“事件”过滤来解决这个问题 。
试试这个
bool MainWindow::eventFilter(QObject *object, QEvent *e)
{
if (e->type() == QEvent::MouseButtonPress && QApplication::mouseButtons()==Qt::LeftButton)
{
leftbuttonpressedflag=true;
}
if (e->type() == QEvent::MouseMove)
{
QMouseEvent *mouseEvent = static_cast<QMouseEvent*>(e);
if(leftbuttonpressedflag && mouseEvent->pos()==Inside_Graphics_Scene)
qDebug("MouseDrag On GraphicsScene");
}
return false;
}
不要忘了在主窗口安装此事件过滤器 。
qApplicationobject->installEventFilter(this);
I created an application for Windows in C++ using QT. If I want to port it to Linux or Mac OS, will sizeof(int) or sizeof(long) change? In other words, do types in QT applications for different ...
If I had a class A, where one of its functions does: void A::func() { emit first_signal(); emit second_signal(); } Assuming that a class B has 2 slots, one connected to first_signal, and the ...
I m using Qt and want a platform-independent way of getting the available free disk space. I know in Linux I can use statfs and in Windows I can use GetDiskFreeSpaceEx(). I know boost has a way, ...
I m working on a small project in QT (well, pyQT4 actually, but it shouldn t matter too much) and I ve run into the following problem. I have a QTableView with several rows and columns. I have set the ...
I m having big troubles with drag & drop. I ve created a new Qt Designer Form Class in which I have one QListWidget and one QWidget. Now I want to enable dragging & dropping between these two ...
I creating a small desktop application using Qt and Poco on Mac OS X Snow Leopard. Qt works fine, but once I started linking with Poco I get the following warning: ld: warning: in /Developer/SDKs/...
My friend and I have each created parts of a GUI using Qt 4. They both work independently and I am trying to integrate his form with the my main window. As of now this is the code I am using to try ...
Is there an equivalent of .NET s data binding in Qt? I want to populate some combo boxes and other widgets with QStrings that refer to specific entities in my database. However, it would be cleaner ...