1 2 3 4 下一页 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.")); } }
(责任编辑:admin) |