Qt编程--能在mac os中实现menubar和statusbar显示吗?
来源:互联网 发布:端口110 编辑:程序博客网 时间:2024/05/19 16:07
完全参照Qt入门教程(文章来源:http://wenku.baidu.com/view/142def33ee06eff9aef807ea.html)Qt学习之路(12)菜单和工具条
期望达到的效果:
在windows上可以达到这样的效果:窗口中有一个menubar,menubar下面是toolbar,然后是主窗口,最后是statusbar。
在mac下:menubar还是放在mac menubar的位置上,并不会像windows一样出现在window里。
这可能是因为,Qt是根据系统的环境去绘制控件,而对于mac os来说,只提供了一个menubar,即位于桌面顶端的那个menubar。
如若想在mac上实现窗口的menubar功能,可能只能自己描绘了。
如图:
此外,在mac上实现statusbar的显示与windows也有所不同。
mainwindow.cpp中的代码如下:
#include <QtGui/QAction>#include <QtGui/QMenu>#include <QtGui/QMenuBar>#include <QtGui/QKeySequence>#include <QtGui/QToolBar>#include <QtGui/QStatusBar>#include "mainwindow.h"MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent){ openAction = new QAction(tr("&Open"),this); openAction->setShortcut(QKeySequence::Open); openAction->setStatusTip(tr("Open a file.")); openAction->setIcon(QIcon(":/Open.png")); QMenu *file = menuBar()->addMenu(tr("&File")); file->addAction(openAction); QToolBar *toolBar = addToolBar(tr("&File")); toolBar->addAction(openAction); setUnifiedTitleAndToolBarOnMac(true);//显示statusbar区域。 statusBar()->setShown(true);//statusTip内容显示。}MainWindow::~MainWindow(){}值得注意的是:
为了在mac os 下正确的显示statusbar和tip,需要在mainwindow的构造函数中,加入这样两句代码:
setUnifiedTitleAndToolBarOnMac(true);
statusBar()->setShown(true);
得到的效果如图
如果去掉
statusBar()->setShown(true);
则整个窗口没有statusBar。效果如图:
如果去掉
setUnifiedTitleAndToolBarOnMac(true);
效果如图:
- Qt编程--能在mac os中实现menubar和statusbar显示吗?
- 在Mac OS中隐藏和显示文件
- Qt在Mac OS X下的编程环境搭建
- Qt在Mac OS X下的编程环境搭建
- 【转】Qt在mac OS下的编程环境搭建
- Qt Mac OS、iOS和X11的Retina显示支持
- Qt Mac OS、iOS和X11的Retina显示支持
- OceanBase能在Mac OS上编译吗?
- 在 Mac OS X 系统 Finder 中直接显示图片尺寸
- 在Mac OS Lion 中显示Library文件夹
- Mac OS中隐藏和显示文件的操作
- Mac OS中如何显示和隐藏文件
- Mac OS中如何显示和隐藏文件
- 【MacOS】Mac OS中显示和隐藏文件
- Mac OS中隐藏和显示文件的操作
- JavaFx在Mac OS中实现系统样式的菜单
- 在 Mac OS X 中启用和使用 root 用户
- 在 Mac OS X 中启用和使用 root 用户
- 深入理解sizeof和strlen
- oracledbconsole 服务不能启动
- SizeOf函数详解
- 编译原理笔记
- 关于Android图形系统的一些事实真相
- Qt编程--能在mac os中实现menubar和statusbar显示吗?
- sqlserver ,mysql,oracle 语句实现分页
- 使用DOM读XML
- 部署XAMPP环境问题 2003 win7
- 通过Class.forName动态得到某个类的实例
- Date类学习总结(Calendar Date 字符串 相互转换 格式化)
- sourceinsight 技巧
- Linux的五个查找命令
- 性能中的内存分析要注意的地方