diff --git a/src/gui/qgsqueryresultwidget.cpp b/src/gui/qgsqueryresultwidget.cpp
index 9a59f18e6c0..90b690fccf5 100644
--- a/src/gui/qgsqueryresultwidget.cpp
+++ b/src/gui/qgsqueryresultwidget.cpp
@@ -51,6 +51,16 @@ QgsQueryResultWidget::QgsQueryResultWidget( QWidget *parent, QgsAbstractDatabase
// Unsure :/
// mSqlEditor->setLineNumbersVisible( true );
+ splitter->setCollapsible( 0, false );
+ splitter->setCollapsible( 1, false );
+ QgsSettings settings;
+ splitter->restoreState( settings.value( QStringLiteral( "Windows/QueryResult/SplitState" ) ).toByteArray() );
+
+ connect( splitter, &QSplitter::splitterMoved, this, [this] {
+ QgsSettings settings;
+ settings.setValue( QStringLiteral( "Windows/QueryResult/SplitState" ), splitter->saveState() );
+ } );
+
mToolBar->setIconSize( QgsGuiUtils::iconSize( false ) );
mPresetQueryMenu = new QMenu( this );
diff --git a/src/ui/qgsqueryresultwidgetbase.ui b/src/ui/qgsqueryresultwidgetbase.ui
index 95bcbc840b2..5a17899cd31 100644
--- a/src/ui/qgsqueryresultwidgetbase.ui
+++ b/src/ui/qgsqueryresultwidgetbase.ui
@@ -75,61 +75,94 @@
6
-
-
-
- -
-
-
-
-
-
- false
-
-
- Execute
-
-
-
- -
-
-
- false
-
-
- Stop
-
-
-
- -
-
-
- Status and errors goes here.
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
- 24
-
-
-
-
-
- -
-
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+ QFrame::NoFrame
+
+
+ Qt::Vertical
+
+
+
+
+ 0
+
+
-
+
+
+ -
+
+
-
+
+
+ false
+
+
+ Execute
+
+
+
+ -
+
+
+ false
+
+
+ Stop
+
+
+
+ -
+
+
+ Status and errors goes here.
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ 24
+
+
+
+
+
+
+
+
+
+
+
+
-