2014-06-25 9 views
5

ich diese Bar löschen bin versucht, buti kann nicht loswerden es (es ist nur unter der Symbolleiste finden):Wie entfernen bar aus QMainWindow

enter image description here

Was ist der Name, dass Bar, wie kann ich darauf zugreifen? Danke.

Antwort

4

Wenn Sie diese Werkzeugleiste hinzugefügt haben, haben Sie wahrscheinlich einen Zeiger darauf? Wenn ja, können Sie einfach anrufen:

removeToolBar(toolbar); 

in Ihrer QMainWindow Klasse. Ansonsten können Sie alle Werkzeugleisten aus dem Hauptfenster entfernen, wie:

QList<QToolBar *> allToolBars = mainWindow->findChildren<QToolBar *>(); 
foreach(QToolBar *tb, allToolBars) { 
    // This does not delete the tool bar. 
    mainWindow->removeToolBar(tb); 
} 
+0

Ich habe diese Symbolleiste nicht hinzugefügt, sie kommt standardmäßig mit jedem QMainWindow. – xpg94

+0

@ xpg94, wirklich? Ich sehe keine Werkzeugleiste beim Erstellen einer Instanz von QMainWindow. – vahancho

+0

Sie haben mich missverstanden. Ich spreche nicht über die Symbolleiste, ich spreche über die andere "Bar", die Sache, die ich auf dem Bild gezeigt habe, das ich mit meiner Frage hochgeladen habe. – xpg94

7

Was Sie fordern die toolbar tatsächlich die Menüleiste ist und was Sie die other bar fordern ist eigentlich eine emtpy Symbolleiste.

Der wahrscheinlichste Grund für eine leere Symbolleiste ist, dass Sie Ihr Fenster mit QtDesigner erstellt haben. Wenn Sie als Ausgangspunkt einen QMainWindow auswählen, wird dem Fenster automatisch eine leere Menüleiste und eine leere Symbolleiste hinzugefügt. Wenn Sie die Symbolleiste nicht möchten, suchen Sie sie im Objektinspektor auf der rechten Seite, klicken Sie mit der rechten Maustaste und wählen Sie Remove Toolbar 'mainToolbar' (oder einen anderen Namen als Standard).

1

Unten fügt ein wenig @ RobbieE's Antwort hinzu.

Beim Erstellen eines QMainWindow Formulars wird mainToolBar für den Benutzer erstellt.

Wenn Sie mit der rechten Maustaste darauf klicken und Remove Toolbar 'mainToolBar' auswählen, wird es weg sein.

Oder in Code in der Spitze Ihres Konstruktor:

ui->setupUi(this); 

delete ui->mainToolBar; // add this line 

Hoffnung, das hilft.