www.pudn.com > code-qt.rar > menu_i18n.cpp, change:2006-03-01,size:2084b


#include "menu_i18n.h"

MainWidget::MainWidget(QWidget *parent, const char *name): QMainWindow(parent, name)
{	//set caption and backgroundcolor
	setCaption( QObject::tr("Qt_MENU_Example") );
	setBackgroundColor(white);

	//add items to File menu
	QPopupMenu *file = new QPopupMenu;
	QFont f("Times", 16, QFont::Normal);
	setFont(f);
	file->setFont(f);
	file->insertItem( tr("&New"), this, SLOT(newFile()), CTRL+Key_N);
	file->insertItem( tr("&Open"), this, SLOT(openFile()), CTRL+Key_O);
	file->insertItem( tr("&Save"), this, SLOT(saveFile()), CTRL+Key_S);
	file->insertItem( tr("&Quit"), this, SLOT(quitMain()), CTRL+Key_Q);

	//add items to Help menu
	QPopupMenu *help = new QPopupMenu;
	help->setFont(f);
	help->insertItem( tr("&Help"), this, SLOT(helpFile()), CTRL+Key_H);
	help->insertItem( tr("About"), this, SLOT(aboutMe()));

	//Create 'File' & 'Help' menu
	QMenuBar *menu;
	menu = new QMenuBar(this);
	menu->insertItem( tr("&File"), file);	//create 'FIle'
	menu->insertItem( tr("&Help"), help);	//create 'Help'

	//create lebel
	label = new QLabel("", this);
	label->setGeometry(60, 100, 250, 20);
	label->setBackgroundColor(white);
}

void MainWidget::newFile()
{
	label->setText( tr("Create a New File!") );
}

void MainWidget::openFile()
{
	label->setText( tr("File has been opened!") );
}

void MainWidget::saveFile()
{
	label->setText( tr("File has been saved!") );
}

void MainWidget::quitMain()
{
	QApplication::exit();
}

void MainWidget::helpFile()
{
	label->setText( tr("Help Files, or press F1.") );
}

void MainWidget::aboutMe()
{
	label->setText( tr("(C) GUANGZHOU ZHIYUAN") );
}

int main(int argc, char **argv)
{
	QApplication app(argc, argv);
	if(argc<2)
	{
		cout << "Usage: ./menu_i18n -[cn/en]\n" <load("menu_i18n_cn.qm", ".");
	}

	qApp->installTranslator(tran);

	MainWidget *mainwidget = new MainWidget(0);
	mainwidget->setGeometry(10, 30, 320, 240);
	app.setMainWidget(mainwidget);
	mainwidget->show();

	int result = app.exec();
	return result;
}