-
Notifications
You must be signed in to change notification settings - Fork 270
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Horizontal slider missing randomly after startup #170
Comments
Some more debug prints: @@ -181,6 +181,7 @@ void PlotView::enableCursors(bool enabled)
}
bool PlotView::viewportEvent(QEvent *event) {
+ qDebug() << "PlotView::viewportEvent " << event->type();
// Handle wheel events for zooming (before the parent's handler to stop normal scrolling)
if (event->type() == QEvent::Wheel) {
QWheelEvent *wheelEvent = (QWheelEvent*)event;
@@ -369,6 +370,7 @@ void PlotView::invalidateEvent()
void PlotView::repaint()
{
+ qDebug() << "PlotView::repaint";
viewport()->update();
}
@@ -422,6 +424,7 @@ void PlotView::setPowerMax(int power)
void PlotView::paintEvent(QPaintEvent *event)
{
+ qDebug() << "PlotView::paintEvent " << event->type();
if (mainSampleSource == nullptr) return;
QRect rect = QRect(0, 0, width(), height());
@@ -517,6 +520,7 @@ int PlotView::plotsHeight()
void PlotView::resizeEvent(QResizeEvent * event)
{
+ qDebug() << "PlotView::resizeEvent " << event->type();
updateView();
}
@@ -548,6 +552,7 @@ void PlotView::updateViewRange(bool reCenter)
void PlotView::updateView(bool reCenter)
{
+ qDebug() << "PlotView::updateView";
horizontalScrollBar()->setMaximum(std::max(0, sampleToColumn(mainSampleSource->count()) - width()));
verticalScrollBar()->setMaximum(std::max(0, plotsHeight() - viewport()->height()));
updateViewRange(reCenter); Good:
Bad:
|
Just to make sure I'm understanding right, I think you're actually talking about the horizontal scrollbar? (ie: for scrolling left or right in time). So what seems to be happening is that the range of the scrollbar isn't getting set correctly. It has a slider, but it's full width because there's no range of movement available. |
You are of course correct: I meant the horizontal scrollbar... |
This patch solved the issue for me. It feels like a hack, though: @@ -237,6 +238,10 @@ bool PlotView::viewportEvent(QEvent *event) {
return true;
}
+ if (event->type() == QEvent::WindowActivate) {
+ updateView();
+ }
+
// Handle parent eveents
return QGraphicsView::viewportEvent(event);
} |
Closed by #177 |
Sometimes when I start Inspectrum, the horizontal scrollbar doesn't show a slider:
After resizing the window, the slider appears:
I've put some logging into
plotview.cpp
:Result when the slider appears after start:
Result when the slider does not appear after start:
I'm not sure if the location of that print makes much sense, but there are differences between the two logs in terms of order.
My QT libraries have version
5.9.5
from Ubuntu 18.04The text was updated successfully, but these errors were encountered: