来源:http://blog.sina.com.cn/s/blog_a6fb6cc90101art3.html

在编写Qt程序的时候,总会碰到中文问题,一直都很困惑,原本在使用QLineEdit的时候总会出现右键英文的情况,开始的时候是将右键功能屏蔽掉。使用setContextMenuPolicy(Qt::NoContextMenu)来设置无右键菜单,但是后来发现这虽然省事,但是有不足之处,密码框可以没有右键菜单、不可复制、粘贴,但是普通的文本框还是得需要此项功能的,所以就摸索着如何实现,做起来也很是简单!

1、从Qt安装目录下面将文件“D:\SoftWare\QtOpenSource\translations\qt_zh_CN.qm”复制一份到你的项目目录下。

2、建立资源文件(QRC.qrc)

位置为工程目录下:

内容:

qt_zh_CN.qm

3、在主函数main.cpp中加载相应的资源文件。

 #include #include "main_widget.h"

 int main(int argc, char *argv[])
{
//创建QApplication对象,管理整个应用程序的资源,通过argc和argv来获取它自己的命令行参数;
QApplication app(argc, argv); //设置编码,一般在Window开发环境里,是GBK编码,在Linux开发环境里,是utf-8编码
//获取系统编码,否则移植会出现乱码
QTextCodec *codec = QTextCodec::codecForName("System"); //设置和对本地文件系统读写时候的默认编码格式
QTextCodec::setCodecForLocale(codec); //设置传给tr函数时的默认字符串编码
QTextCodec::setCodecForTr(codec); //用在字符常量或者QByteArray构造QString对象时使用的一种编码方式
QTextCodec::setCodecForCStrings(codec);
20 //加载Qt中的资源文件,使Qt显示中文(包括QMessageBox、文本框右键菜单等)
QTranslator translator;
translator.load(":/qm/qt_zh_CN");
app.installTranslator(&translator); MainWidget main_widget;
main_widget.show(); return app.exec();
}
注:
技术在于交流、沟通,转载请注明出处并保持作品的完整性。

Qt之中文显示(QMessageBox、QLineEdit右键菜单等)的更多相关文章

  1. Qt支持中文显示

    Qt支持中文显示<1>.在代码中添加以下代码 QTextCodec* codec = QTextCodec::codecForLocale(); if (codec != NULL) { ...

  2. Qt之国际化(系统文本-QMessageBox按钮、QLineEdit右键菜单等)

    简介 使用Qt的时候,经常会遇到英文问题,例如:QMessageBox中的按钮.QLineEdit.QSpinBox.QScrollBar中的右键菜单等.通常情况下,我们软件都不会是纯英文的,那么如何 ...

  3. 【Qt】Qt国际化(系统文本-QMessageBox按钮、QLineEdit右键菜单等)【转】

    简介 使用Qt的时候,经常会遇到英文问题,例如:QMessageBox中的按钮.QLineEdit.QSpinBox.QScrollBar中的右键菜单等.通常情况下,我们软件都不会是纯英文的,那么如何 ...

  4. Qt之自定义QLineEdit右键菜单

    一.QLineEdit说明 QLineEdit是单行文本框,不同于QTextEdit,他只能显示一行文本,通常可以用作用户名.密码和搜索框等.它还提供了一些列的信号和槽,方便我们使用,有兴趣的小伙伴可 ...

  5. windows下命令行利器---Cmder(安装,中文乱码,配置右键菜单)

    很多人都是在win下开发的,这样就会出现,经常需要命令行操作,而win cmd命令和linux命令有很大差异,导致大家很难受,今天给大家介绍一个win下命令行的利器-Cmder 一.先看一下它的容颜 ...

  6. Qt自适应大小显示图片,添加菜单

    由于后面的图像处理需要UI,OpenCV自带也不怎么会,MFC实在懒得学的.听同学说Qt不错,就用Qt做UI了. 本文主要介绍三个内容:在Qt Creator中使用OpenCV2.Qt中自适应显示图片 ...

  7. 嵌入式Linux下Qt的中文显示

    一般情况下,嵌入式Qt界面需要中文显示,下面总结自己在项目中用到的可行的办法 1,下载一种中文简体字体,比如我用的是”方正准圆简体“,把字体文件放在ARM开发板系统的Qt字库中,即/usr/lib/f ...

  8. QT中webkit去掉默认的右键菜单

    在qt设计师中,选择webview,按下图选择那一行设置contextMenuPolicy属性:

  9. Qt之QAbstractItemView右键菜单

    一.功能概述 说起右键菜单,之前Qt之自定义QLineEdit右键菜单这篇文章中我已经讲述过3种右键菜单的实现方式,今儿也是在啰嗦一下,针对QListWidget类在定制一下右键菜单,我使用的具体方式 ...

随机推荐

  1. MD5 .net与PHP加密值一样的加密代码

    .net 代码 using System.Security.Cryptography; /// <summary> /// 返回大写形式的MD5加密 /// </summary> ...

  2. Chapter 2 Open Book——27

    My assessment was confident. 我的评价是很自信的. "Prophase.""Do you mind if I look?" he a ...

  3. 处理html页面元素工具类(HtmlAgilityPack.dll)的使用

    下载地址:http://htmlagilitypack.codeplex.com/ 1.添加HtmlAgilityPack.dll引用(引用类using HtmlAgilityPack;). 2.简单 ...

  4. Infix to posfix 自己写stack,没有()

    #include<iostream> #include<string> using namespace std; template<typename Type> s ...

  5. COCOA® PROGRAMMING FOR MAC® OS X (2)- Speak Line

    1.NSControl是所有控件的父类,NSControl继承自NSView,因此NSControl是一个能够独立响应事件的NSView,每个NSControl含有一个Target和Action,当用 ...

  6. digitalocean优惠码30美元1G内存VPS免费使用两个月

    著名的云主机服务商CloudWays送福利啦!CloudWays是一家云主机网站服务商,与Digitalocean和亚马逊AWS开展合作,新用户注册验证手机即可赠送价值30美元的免费VPS主机. 申请 ...

  7. 使 httpClient 支持中文

    一个有效的方法:重载 PostMethod 的 getRequestCharSet 方法 1: class PostChinese { 2: HttpClient httpClient = new H ...

  8. linux 安装与启动nginx

    linux系统为Centos 64位 一.去http://nginx.org/download/上下载相应的版本下载nginx-1.8.0.tar.gz(注:还有更高版本的). 二.解压 tar -z ...

  9. YaHoo Web优化的14条法则

    Web应用性能优化黄金法则:先优化前端程序(front-end)的性能,因为这是80%或以上的最终用户响应时间的花费所在. 法则1. 减少HTTP请求次数 80%的最终用户响应时间花在前端程序上,而其 ...

  10. 个人项目中的WCF使用

    今天闲着无事,给大家分享一下我的一个项目中WCF的使用.我这项目使用的是Silverlight,至于其他类型的使用方法也是一样的. 1.建立一个Silverlight带Web项目的解决方案. 2.在w ...