• 5828阅读
  • 8回复

[提问]关于maps [复制链接]

上一主题 下一主题
离线yangzl
 
只看楼主 倒序阅读 楼主  发表于: 2011-10-28
我在用QGraphicsGeoMap时发现运行出的程序地图都是英文的,有人知道怎么改成中文的吗。
离线wxj120bw

只看该作者 1楼 发表于: 2011-10-30
回 楼主(yangzl) 的帖子
qt mobility的API 参考下void QGeoMappingManager::setLocale ( const QLocale & locale )函数手册
离线yangzl
只看该作者 2楼 发表于: 2011-10-31
这个我试了,不好使啊。
离线wxj120bw

只看该作者 3楼 发表于: 2011-11-02
回 2楼(yangzl) 的帖子
你是怎么调用setLocale  把locale()打印下
离线yangzl
只看该作者 4楼 发表于: 2011-11-03
#include <QtGui/QApplication>
#include "mainwindow.h"
#include <QLocale>
#include <QSplashScreen>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QSplashScreen *splash = new QSplashScreen;
     splash->setPixmap(QPixmap(":/splash.png"));
     splash->show();
    splash->showMessage("Loaded modules");
//    QLocale lo(QLocale::China, QLocale::Chinese);
    QLocale::setDefault(QLocale(QLocale::Chinese, QLocale::China));
//    QLocale::setDefault(&lo);
    qDebug() << "china";
    qDebug() << QLocale::system().language();
    MainWindow w;
#if defined(Q_OS_SYMBIAN) || defined(Q_OS_WINCE_WM) || defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6)
  //  w.setControlsVisible(false);
    w.showMaximized();
#else
    w.show();
    qDebug() << "splash";
    splash->showMessage("Established connections");
        splash->finish(&w);
#endif
    return a.exec();
}
离线wxj120bw

只看该作者 5楼 发表于: 2011-11-03
回 4楼(yangzl) 的帖子
你尝试用setLocale函数 并把locale返回值贴出来
离线yangzl
只看该作者 6楼 发表于: 2011-11-03
发现问题了,是我没有设置offset.x和offset.y
离线yangzl
只看该作者 7楼 发表于: 2011-11-03
发错位置了。
离线hsuyun
只看该作者 8楼 发表于: 2011-12-16
我碰到跟楼主同样的问题了。。。
模拟器下面怎么弄都是英文。。。。。。
求教高手!
  1. QLocale loc(QLocale::Chinese);
  2. void MainWindow::setProvider(QString providerId)
  3. {
  4. if (m_serviceProvider)
  5. delete m_serviceProvider;
  6. m_serviceProvider = new QGeoServiceProvider(providerId);
  7. if (m_serviceProvider->error() != QGeoServiceProvider::NoError) {
  8. QMessageBox::information(this, tr("MapViewer Example"), tr(
  9. "Unable to find the %1 geoservices plugin.").arg(providerId));
  10. qApp->quit();
  11. return;
  12. }
  13. m_mapManager = m_serviceProvider->mappingManager();
  14. m_mapManager->setLocale(loc);
  15. m_searchManager = m_serviceProvider->searchManager();
  16. }
  17. void MainWindow::setupMap()
  18. {
  19. qDebug() << "Language = " + QLocale::languageToString(m_mapManager->locale().language());
  20. qDebug() << "Country = " + QLocale::countryToString(m_mapManager->locale().country());
  21. m_mapWidget = new MapWidget(m_mapManager, this);
  22. m_qgv->scene()->addItem(m_mapWidget);
  23. m_mapWidget->setConnectivityMode(QGraphicsGeoMap::OnlineMode);
  24. m_mapWidget->setCenter(QGeoCoordinate(39.90735,116.39125));
  25. m_mapWidget->setZoomLevel(10);
  26. 。。。

得到程序输出:
"Language = Chinese"
"Country = China"


快速回复
限100 字节
 
上一个 下一个