繁体   English   中英

Qt是否覆盖标题栏和菜单栏?

[英]Qt override Title bar and menu bar?

我开始了一个我一直在计划的项目,我有一个快速的问题。

我想拥有尽可能多的屏幕空间。 为此,我需要使标题栏变细,并且还希望隐藏菜单栏,直到将其悬停为止。

是否有一个允许快速缩小标题栏的功能。

我很确定我需要使用setMenuWidget()创建自定义菜单栏,然后​​仅添加标签,信号和其他有趣的菜单项。 我是对的,在设置所有标签和连接的函数旁边,是否只需要setMenuWidget()? 我必须在类中创建一个变量,还是只创建一个名为setUpMenuBar()的函数?

我尽了最大努力来表达这个意思。 有时我的问题有点含糊,因此,如果您不清楚,就问一下。

谢谢!

使用全屏模式摆脱标题栏。 我认为这比非标准外观的细标题栏更加用户友好。

自定义菜单栏小部件是否需要成员变量仅取决于您对它的使用。 如果您要做的只是创建菜单,那么否,则不需要为其保留成员变量。 “ QMainWindow拥有menuBar指针的所有权,并在适当的时候将其删除。”

MyMainWindow::setUpMenuBar() {
    MyCustomMenuBar * menubar = new MyCustomMenuBar;
    // add all the menus
    setMenuWidget( menubar );
}  

您甚至可以稍后检索指向菜单栏的指针:

MyCustomMenuBar * menubar = qobject_cast<MyCustomMenuBar *>( menuWidget() );

如果您更经常需要此指针,则可以重写MyMainWindow :: menuWidget()或将指针另存为成员。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM