Archived:S60风格的Qt应用程序
文章信息
兼容于
平台: 5800 XpressMusic
文章
关键词: QMainWindow
由 dougcn
在 19 Mar 2009 创建
最后由 hamishwillee
在 11 Oct 2012 编辑
Contents |
概述
此代码片段演示如何给运行在移动设备上的应用程序设置S60风格的状态栏、控制栏、菜单和图标。
注意:要使用这段代码,在你的平台上要装有latest Qt或更新版本。
前提条件
- 从这里安装Latest Qt 发行版:Latest Qt
- 安装指南: How to install the package.
- 通读这篇文章: Qt使用入门
- 下载Qt creator IDE:Qt Creator
状态栏与控制栏
调用QMainWindow::showMaximized()显示应用程序的状态栏和控制栏。这样,应用程序就有这些栏目了,然后要为显示它们安排空间。
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MyMainWindow *mainwindow = new MyMainWindow;
app.setActiveWindow(mainwindow);
mainwindow->showMaximized();
ret = app.exec();
delete mainwindow;
return ret;
}
图标
给应用程序设置svg格式的图标。把下面的Symbian段加到Qt工程文件(.pro)中。例子中的icon.svg文件与项目文件在同一文件夹。
symbian: {
ICON = icon.svg
}
菜单
创建S60风格的菜单。注意:在Qt中,你可以直接给菜单条创建菜单动作(Action),因为S60 '(Options)'菜单已经存在。在其它Qt平台,你必须先创建Options菜单条,之后给它添加菜单动作。
// Source file
void MyMainWindow::createMenus()
{
#if defined(Q_OS_SYMBIAN)
exitAction = new QAction(tr("&Exit"),this);
// Add action direct to menubar
menuBar()->addAction(exitAction);
connect(exitAction, SIGNAL(triggered()),this, SLOT(close()));
#else
// Need to create Options menu
optionsMenu = menuBar()->addMenu(tr("&File"));
exitAction = new QAction(tr("&Exit"),this);
optionsMenu->addAction(exitAction);
connect(exitAction, SIGNAL(triggered()),this, SLOT(close()));
#endif
}
后置条件
Qt应用程序启动后看上去象S60自身的应用程序一样。
参考


(no comments yet)