1

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

我尝试使用:

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

但由于某种原因,Qt 忽略了它们,仍然在屏幕底部显示透明线。

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

我怎么能隐藏它?

4

3 回答 3

1
QMainWindow::setStatusBar(nullptr);

您也可以使用“this”而不是“ui”

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

选择:this->statusbar()->setVisible(false);

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

于 2021-05-18T18:46:10.233 回答
1

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

我的解决方案:手动编辑 myview.ui 文件并删除该行:

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

这解决了它:没有更多的状态栏。(因为我不想在那里,这对我有用)

于 2021-05-28T14:02:18.337 回答
0

.ui您可以在不编辑文件的情况下同时删除状态栏和菜单栏。

在 Qt Designer 或 Creator 中,在小部件树中,找到状态栏,右键单击它并在上下文菜单中选择“删除”。

删除上下文菜单中的状态栏

菜单栏也可以这样做。

于 2022-01-13T15:37:36.400 回答