Хочу реализовать масштабирование в QtGraphicsView через колесико мыши. На данный момент делаю это через фильтр событий следующим способом:
bool MainWindow::eventFilter(QObject *target, QEvent *event)
{
if (target == ui->graphicsView || event->type() == QEvent::Wheel) {
QWheelEvent *wheelEvent = static_cast<QWheelEvent *>(event);
int delta = wheelEvent->delta();
double scalePlus = 1.2;
double scaleMinus = 0.8;
if(delta > 0){
ui->graphicsView->scale(scalePlus, scalePlus);
qDebug() << "delta = " << delta;
} else {
ui->graphicsView->scale(scaleMinus, scaleMinus);
qDebug() << "delta = " << delta;
}
return true;
}
}
}
Работает это ровно до того, как появляется ScrollBar. После этого колесико мыши просто начинает перехватываться скрулбаром. Как это обойти? Можно и вариант с переопредлелением класса и функции.
Нужно было добавить фильтрацию событий вертикального скролла graphicsView
через:
ui->graphicsView->verticalScrollBar()->installEventFilter(this)
А после в функции фильтра событий добавить в проверку скролл:
if ((target == ui->graphicsView || target == ui->graphicsView->verticalScrollBar()) && event->type() == QEvent::Wheel) {
Виртуальный выделенный сервер (VDS) становится отличным выбором
Мне нужно в один момент времени изменить позицию тела по заданным координатамТо есть летит тело и нужно его "телепортировать" на новую позицию
Есть (динамическая) библиотека C++ с таким содержимым:
Как используя функцию _getch() реализовать(задание с калькулятором из института): 1) вводим 1, потом 2, потом 3 и тд
Пытаюсь написать бота для GoodGame, для этого надо подключиться к websocketПытался сделать через boost::asio, но ничего не вышло