×
Namespaces

Variants
Actions
Revision as of 04:14, 11 October 2012 by hamishwillee (Talk | contribs)

Archived:S60风格的Qt应用程序

From Nokia Developer Wiki
Jump to: navigation, search

Archived.png存档: 这篇文章是存档,因为考虑到今天它与第三方开发者建立商业解决方案不相关。

Qt Quick should be used for all UI development on mobile devices. The approach described in this article (based on QWidget) is deprecated.

Article Metadata

兼容于
平台: 5800 XpressMusic
Symbian

文章
关键词: QMainWindow
dougcn 在 19 Mar 2009 创建
最后由 hamishwillee 在 11 Oct 2012 编辑


Contents

概述

此代码片段演示如何给运行在移动设备上的应用程序设置S60风格的状态栏、控制栏、菜单和图标。

注意:要使用这段代码,在你的平台上要装有latest Qt或更新版本。

前提条件

状态栏与控制栏

调用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菜单条,之后给它添加菜单动作。

// Header file
QAction *exitAction;
QMenu *optionsMenu;
// 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自身的应用程序一样。

参考


内部链接

255 page views in the last 30 days.
×