Qt之中文显示(QMessageBox、QLineEdit右键菜单等)
来源: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右键菜单等)的更多相关文章
- Qt支持中文显示
Qt支持中文显示<1>.在代码中添加以下代码 QTextCodec* codec = QTextCodec::codecForLocale(); if (codec != NULL) { ...
- Qt之国际化(系统文本-QMessageBox按钮、QLineEdit右键菜单等)
简介 使用Qt的时候,经常会遇到英文问题,例如:QMessageBox中的按钮.QLineEdit.QSpinBox.QScrollBar中的右键菜单等.通常情况下,我们软件都不会是纯英文的,那么如何 ...
- 【Qt】Qt国际化(系统文本-QMessageBox按钮、QLineEdit右键菜单等)【转】
简介 使用Qt的时候,经常会遇到英文问题,例如:QMessageBox中的按钮.QLineEdit.QSpinBox.QScrollBar中的右键菜单等.通常情况下,我们软件都不会是纯英文的,那么如何 ...
- Qt之自定义QLineEdit右键菜单
一.QLineEdit说明 QLineEdit是单行文本框,不同于QTextEdit,他只能显示一行文本,通常可以用作用户名.密码和搜索框等.它还提供了一些列的信号和槽,方便我们使用,有兴趣的小伙伴可 ...
- windows下命令行利器---Cmder(安装,中文乱码,配置右键菜单)
很多人都是在win下开发的,这样就会出现,经常需要命令行操作,而win cmd命令和linux命令有很大差异,导致大家很难受,今天给大家介绍一个win下命令行的利器-Cmder 一.先看一下它的容颜 ...
- Qt自适应大小显示图片,添加菜单
由于后面的图像处理需要UI,OpenCV自带也不怎么会,MFC实在懒得学的.听同学说Qt不错,就用Qt做UI了. 本文主要介绍三个内容:在Qt Creator中使用OpenCV2.Qt中自适应显示图片 ...
- 嵌入式Linux下Qt的中文显示
一般情况下,嵌入式Qt界面需要中文显示,下面总结自己在项目中用到的可行的办法 1,下载一种中文简体字体,比如我用的是”方正准圆简体“,把字体文件放在ARM开发板系统的Qt字库中,即/usr/lib/f ...
- QT中webkit去掉默认的右键菜单
在qt设计师中,选择webview,按下图选择那一行设置contextMenuPolicy属性:
- Qt之QAbstractItemView右键菜单
一.功能概述 说起右键菜单,之前Qt之自定义QLineEdit右键菜单这篇文章中我已经讲述过3种右键菜单的实现方式,今儿也是在啰嗦一下,针对QListWidget类在定制一下右键菜单,我使用的具体方式 ...
随机推荐
- 《Windows编程循序渐进》——MFC封装机制详解
单文档
- HDU 1564 Play a game
Description New Year is Coming! ailyanlu is very happy today! and he is playing a chessboard game wi ...
- PAT 团体程序设计天梯赛-练习集 L2-003. 月饼
月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼.现给定所有种类月饼的库存量.总售价.以及市场的最大需求量,请你计算可以获得的最大收益是多少. 注意:销售时允许取出一部分库存.样 ...
- dubbo 分布式架构学习视频链接
http://www.roncoo.com/course/view/f614343765bc4aac8597c6d8b38f06fd 书籍 大型分布式网站架构设计与实践 http://item.jd. ...
- java 视频中截图
package com.sun.test; import java.io.File; import java.util.List; public class CreatePh { //public s ...
- 苹果dock效果
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- setsockopt()用法(参数详细说明)(转)
nt setsockopt(SOCKET s,int level,int optname,const char* optval,int optlen); s(套接字): 指向一个打开的套接口描述字le ...
- SpringMVC利用Hibernate validator做字段验证
1.添加Hiberbate validator相关的jar包 2.字需要验证的formbean 上添加验证的注解,内置注解有: dBean Validation 中内置的 constraint @Nu ...
- 怎么取消ie浏览器body与html的间隙
在css文件第一行定义全局样式,可以消除html标签默认间隙*{margin:0;padding:0;}
- WebService使用入门(包括发布服务,调用服务)
WebService是基于SOAP协议的,全称是Simple Object Access Protocol(简单对象访问协议). SOAP不是什么神奇的东西,等于HTTP+XML,即在HTTP协议的基 ...