Qt学习之路(33):国际化(上)[VC/C++编程]
本文“Qt学习之路(33):国际化(上)[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
2D画图部份基本告一段落,还在想下面的部份要写什么,本来筹划先说下view-model的相关问题,但是前面看到有朋友问关于国际化的问题,所以目前先来说说Qt的国际化吧!
Qt中的国际化的办法有很多,常用的有利用QTextCodec类和利用tr()函数.前者将编码名称写到代码里面,除非你利用Unicode 编码,不然国际化仍然是一个问题;后者就不会有这个问题,并且这也是Qt举荐的做法.因此,我们主要来说利用tr()函数的办法举行利用程序的国际化.
我们先来看一个很简单的MainWindow.为了清楚起见,这里只给出了cpp文件的内容:
#include "mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
QMenuBar *menuBar = new QMenuBar(this);
QMenu *fileMenu = new QMenu(tr("&File"), menuBar);
QAction *newFile = new QAction(tr("&New..."), fileMenu);
fileMenu->addAction(newFile);
QAction *openFile = new QAction(tr("&Open..."), fileMenu);
fileMenu->addAction(openFile);
menuBar->addMenu(fileMenu);
setMenuBar(menuBar);
connect(openFile, SIGNAL(triggered()), this, SLOT(fileOpen()));
}
MainWindow::~MainWindow()
{
}
void MainWindow::fileOpen()
{
QFileDialog *fileDialog = new QFileDialog(this);
fileDialog->setWindowTitle(tr("Open File"));
fileDialog->setDirectory(".");
if(fileDialog->exec() == QDialog::Accepted) {
QString path = fileDialog->selectedFiles()[0];
QMessageBox::information(NULL, tr("Path"), tr("You selected\n%1").arg(path));
} else {
QMessageBox::information(NULL, tr("Path"), tr("You didn't select any files."));
}
}
这是一个很简单的类,运行后果想必大家也都非常清楚:就是一个主窗口,上面有一个菜单栏,一个File菜单,里面有两个菜单项:
以上是“Qt学习之路(33):国际化(上)[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |