鼠标样式
this->setCursor(Qt::BlankCursor);
原文转载于
https://www.cnblogs.com/linux-learn/p/17622200.html
鼠标拖动
相对坐标pos();在进行鼠标拖动空间操作中出现抖动问题,很烦人,可以使用绝对坐标(相对于屏幕位置)globalPos(),利用绝对位置实现鼠标拖动。示例如下
将控件加入事件监视器
ui->chart01->installEventFilter(this);
时间监视器
```cpp
bool MainWindow::eventFilter(QObject *obj, QEvent *event)
{
if(obj==ui->chart01 && event->type()==QEvent::MouseButtonPress){
ChartPress(static_cast<QMouseEvent*>(event));
}else if(obj==ui->chart01 && event->type()==QEvent::MouseMove){
ChartMove(static_cast<QMouseEvent*>(event));
}
return QMainWindow::eventFilter(obj, event);
}
鼠标事件函数
void MainWindow::ChartPress(QMouseEvent *event)
{
startPoint=event->globalPos();
offsetPoint=ui->chart01->pos();
}
void MainWindow::ChartMove(QMouseEvent *event)
{
QPoint right=event->globalPos()-startPoint;
ui->chart01->move(right+offsetPoint);
}
设置窗口顶层
ui->label->raise();