QT之标准对话框使用

QT之标准对话框使用
standarddialogs.h
#ifndef STANDARDDIALOGS_H
#define STANDARDDIALOGS_H

#include <QtGui>
class Standarddialogs:public QDialog
{
      Q_OBJECT;
public:
      Standarddialogs(QWidget *parent=0,Qt::WindowFlags f=0);
      ~Standarddialogs();
public:
      QGridLayout *layout;

      QPushButton *filePushButton;
      QPushButton *colorPushButton;
      QPushButton *fontPushButton;

      QLineEdit *fileLineEdit;
      QLineEdit *fontLineEdit;
      QFrame *colorFrame;
private slots:
      void slotOpenFileDlg();
      void slotOpenColorDlg();
      void slotOpenFontDlg();
};


#endif


standarddialogscpp

#include "standarddialogs.h"
Standarddialogs::Standarddialogs(QWidget *parent, Qt::WindowFlags f):QDialog(parent,f)
{
      setWindowTitle(tr("Standard Dialogs"));
      layout=new QGridLayout(this);
      filePushButton=new QPushButton();
      filePushButton->setText(tr("FileData"));

      colorPushButton=new QPushButton();
      colorPushButton->setText(tr("Color Dialog"));

      fontPushButton=new QPushButton();
      fontPushButton->setText(tr("Font Dialog"));

      fileLineEdit=new QLineEdit();

      colorFrame=new QFrame();
      colorFrame->setFrameShape(QFrame::Box);
      colorFrame->setAutoFillBackground(true);

      fontLineEdit=new QLineEdit();
      fontLineEdit->setText(tr("Hello World!"));

      layout->addWidget(filePushButton,0,0);
      layout->addWidget(fileLineEdit,0,1);
      layout->addWidget(colorPushButton,1,0);
      layout->addWidget(colorFrame,1,1);
      layout->addWidget(fontPushButton,2,0);
      layout->addWidget(fontLineEdit,2,1);
      layout->setMargin(15);
      layout->setSpacing(10);

      connect(filePushButton,SIGNAL(clicked()),this,SLOT(slotOpenFileDlg()));
      connect(colorPushButton,SIGNAL(clicked()),this,SLOT(slotOpenColorDlg()));
      connect(fontPushButton,SIGNAL(clicked()),this,SLOT(slotOpenFontDlg()));
}

Standarddialogs::~Standarddialogs()
{}

void Standarddialogs::slotOpenFileDlg()
{
      QString s=QFileDialog::getOpenFileName(
                              this,"open file dialog",
                              "/",
                              "C++ files(*.cpp);;C files(*.c);;Head files(*.h)");
      fileLineEdit->setText(s.toAscii());
}


void Standarddialogs::slotOpenColorDlg()
{
      QColor color=QColorDialog::getColor(Qt::blue);
      if(color.isValid())
      {
              colorFrame->setPalette(QPalette(color));
      }
}

void Standarddialogs::slotOpenFontDlg()
{
      bool ok;
      QFont font=QFontDialog::getFont(&ok);
      if(ok)
      {
              fontLineEdit->setFont(font);
      }

}

main.cpp


#include "standarddialogs.h"
#include <QApplication>


int main( int argc, char **argv )
{
    QFont font("ZYSong18030",12);
    QApplication::setFont(font);

      QApplication a( argc, argv );
   QTranslator translator(0);
   translator.load("standarddialog_zh.qm",".");
   a.installTranslator(&translator);

      Standarddialogs *standarddialogs = new Standarddialogs();
      standarddialogs->show();
      return a.exec();
}


standarddialog.pro
######################################################################
# Automatically generated by qmake (2.01a) ?? 5? 12 23:13:30 2012
######################################################################

TEMPLATE = app
TARGET =
DEPENDPATH += .
INCLUDEPATH += .

# Input
HEADERS += standarddialogs.h
SOURCES += main.cpp standarddialogs.cpp
TRANSLATIONS += standarddialog_zh.ts


嘿嘿,其它的 不说,主要是汉化这块

1.在pro中加入TRANSLATIONS += standarddialog_zh.ts
2.在shell中输入:lupdate standarddialog.pro 或者 lupate standarddialog_zh.ts
3.输入:linguist standarddialog_zh.ts
4.
QT之标准对话框使用
如图,选中一个要翻译到,把汉字填上,点对钩,变成绿色对钩就对了,不是就好好改。
全完成后保存 在file->选发布。OK
5.ls 后发现有了.qm文件就对了
运行。。。。OK
我还有一些问题就是用QTcreator运行还是英文,但是在shell运行就是汉化的,求大家讲解,谢谢
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值