如何隐藏状态栏Qt

时间:2017-12-02 20:02:12

标签: qt qmainwindow qstatusbar

我正在尝试为我的软件创建一个打开的屏幕。 因为我在QMainwindow中有一个状态栏,所以Qt让我在开始屏幕的底部有一条透明的线条。

我尝试使用:

this-> statusBar () -> hide ();
ui-> statusBar-> hide ();

但由于某些原因,Qt忽略了它们并仍然向我显示屏幕底部的透明线。

我无法完全删除状态行,因为我稍后会在下一个屏幕上使用它。

我怎样才能隐藏它?

2 个答案:

答案 0 :(得分:1)

QMainWindow::setStatusBar(nullptr);

你也可以用'this'代替'ui'

this->statusbar()->hide();

替代:this->statusbar()->setVisible(false);

Ui 是表单本身,'this' 是 MainWindow 小部件。 Statusbar() 是 MainWindow 的成员,而不是 Ui 窗体。您不能直接访问 ui->MainWindow,在类 MainWindow 中,使用 'this->' 访问其成员。

答案 1 :(得分:0)

我尝试在代码中使用 statusbar()->hide(),但这并没有解决我的具体问题,即状态栏的空间仍然存在于对话框中,也存在于 UI 设计器中。< /p>

我的解决办法:手动编辑myview.ui文件,去掉那行:

<widget class="QStatusBar" name="statusbar"/>

这就解决了:没有状态栏了。 (因为我不想要它,这对我有用)