Unsolved Toolbar spacer does not expand to the right corner
-
@TommyTLC
Ok so does it go into the >> or is then completely gone ? -
@mrjj in the >> I only see my m_aboutAction. It looks like the spacer disappears when the application is not in full screen.
-
@TommyTLC
That i have not seen before. :)
Could you give your spacer object a name with setObjectName and
then do
ui->menubar->dumpObjectTree();
(adjust to name)Then it will show all its sub objexts like
QMenuBar::menubar QToolButton::qt_menubar_ext_button QMenu::menuMENU QAction:: QMenu::menuMENU2 QAction:: QMenu::menuMENU3 QAction::
just to see if its still in or really gone. Its kinda hard for a widget to just fall off as it's owned by the parent.
-
@mrjj This is what I have done:
spacer->setObjectName("spacerName");
ui->m_fileToolBar->dumpObjectTree();It looks like this function does not allow the use of "ui". If I follow the error's suggestion and use a pointer type toward m_fileToolBar I get another error saying that m_fileToolBar is not a member of the Ui::MainWindow class.
-
Hi
the name m_fileToolBar suggest to me its not in a UI
so its just
m_fileToolBar->dumpObjectTree(); -
@mrjj Thank you! Here's the output (I have given my spacer object the name "spacerName"):
Qtitan::DockToolBar::
Qtitan::DockToolBarLayout::
Qtitan::DockToolBarExtension::
QMenu::
QAction::
Qtitan::ToolButton::
QWidgetAction::
QLineEdit::
QWidgetLineControl::
Qtitan::ToolButton::
QWidgetAction::
QSpinBox::
QLineEdit::qt_spinbox_lineedit
QWidgetLineControl::
QValidator::qt_spinboxvalidator
Qtitan::ToolButton::
QWidgetAction::
QWidget::spacerName -
@TommyTLC
Ok so it is still there :)
Then i would
qDebug() << "size" << qDebug() << spacer->geometry();
and it will show something like
QRect(747,339 75x23)as it could be fun to see its location and size.
-
@mrjj This is where my spacer is located/its size: QRect(0,0 1180x480)
-
@TommyTLC
so its at o,0 and 1180 wide o.O and almost 500 in height.
but we clearly dont see that.
can you try
qDebug() << "vis" << spacer->isVisible();i was wondering if this happens due to
spacer->setMinimumWidth(1180);
as i have seen widgets do odd stuff when not room enough. -
@mrjj vis false
-
@TommyTLC
ok so its get hidden for some odd reason.
do you use the do anything to the spacer variable after it has been inserted ?
also try
spacer->show();
after its gone. ( like via a button)
and lets see what happens. -
@mrjj This is all I do with the spacer:
QWidget* spacer = new QWidget(); spacer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); spacer->setMinimumWidth(1180); m_fileToolBar->addWidget(spacer);
it gets created, I set the SizePolicy and the minimumWidth and then I assign it to the toolBar.
-
@TommyTLC
Ok so its not hidden by user code.
Could you try a smaller minimum and see like
spacer->setMinimumWidth(200);I know its not the goal but just to see if it still happens.
-
@TommyTLC said in Toolbar spacer does not expand to the right corner:
in the >> I only see my m_aboutAction
you do not see the style combo either?
Did you overload
resizeEvent
?Does the "Configuration" label on the left have something special?
-
@mrjj said in Toolbar spacer does not expand to the right corner:
Ok so its not hidden by user code.
If it goes into >> then it will be hidden. I'm not sure this test is conclusive
-
@mrjj By changing the minimum size I see the spacer:
But the items to the right can still be hidden by resizing the window:
-
@VRonin Correct, the only thing I see by clicking the ">>" is the m_aboutAction.
The configuration label is an action. When clicked it generates a dialog you can interact with.
I am not sure what overlading the resizeEvent means. -
Hi
- I am not sure what overlading the resizeEvent means.
Like for MainWindow, you have that function implemented in your code.
I have a feeling it the
setMinimumWidth that is the culprit of this. -
@mrjj Getting rid of the minimumWidth only leaves a small gap between the items in the toolBar. I don’t know what else I could try :(
-
@TommyTLC
Ok so it dont grow ?Hmm. What version of Qt are you using ?
the code VRonin works perfectly in 5.15
But you get another result ?