Blokowanie możliwości ukrycia ToolBar'a

0

Na głównej formie mam dodany ToolBar, na nim różnego rodzaju ikony itp, podczas działania programu można kliknąć prawym przyciskiem na wspomnianym pasku i odznaczyć opcję ToolBar, pasek wtedy znika i nie ma możliwości go włączyć bez restartu aplikacji (chyba ze ja nie wiem jak..), czy istnieje możliwość zablokowania albo tej opcji albo prawego przycisku myszy tylko dla ToolBar'a? z góry dzięki.

0

To może mieć jakiś związek z wersją qtcreatora i samego środowiska. W tej chwili korzystam z qtc 2.0.1 x64, debian + kde i wszystko zdaje się działać ok.
Owszem po odhaczeniu checkboxa pasek znika ale po kliknięciu na pustej przestrzeni i ponownym zaznaczeniu pasek znów się pojawia.

i pod windows również wszystko ok

0

no niestety, u mnie po odhaczeniu checkboxa nie można już tego przywrócić, naciśniecie prawego przycisku myszy na oknie nie wywołuje żadnego menu
Ale mi i tak bardziej zależy na całkowitym zablokowaniu menu dla ToolBar'a.

1

po krótkich poszukiwaniach znalazłem kilka rozwiązań (chyba):
1)najprościej w konstruktorze main window dopisać:

this->setContextMenuPolicy( Qt::NoContextMenu);
  1. można też odziedziczyć z QToolBar i zaimplementować
void contextMenuEvent ( QContextMenuEvent * event ) 

ale z tym może być trochę więcej pisania
3) można też dopisać nowy slot np.

void Right_clicked()

, połączyć z visibilityChanged(bool)

 potem w ciele tego slotu sprawdzić czy
    toolbar jest schowany np:
   
```cpp
 if ( _UI_->mainToolBar->isHidden() )
	_UI_->mainToolBar->show();

4)pewnie są jeszcze jakieś sposoby...

0

dzięki wielkie za zainteresowanie, 1 sposób działa tak jak chciałem, dzięki wielkie!

1 użytkowników online, w tym zalogowanych: 0, gości: 1