×
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自身的应用程序一样。

参考


内部链接

417 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×