展开

关键词

Qt】]Qt5中文乱码

升级到Qt5.X之后,原先解决的Qt显示中文乱码的方法突然不适用了,找了很多方式来解决这个问题 第一种: 在公司代码里看到的方法,先将对应的cpp文件用windows自带的记事本打开,另存为UTF-8格式 ,然后在代码中,遇到中文字符,使用QStringLiteral("中文")进行修饰 这种方式每次新建一个class就要切出去用记事本编辑一下实在麻烦,而且每个中文字符串都要用QStringLiteral ,实在麻烦 后来有找到了个方法 第二种: 在头文件申明中加上 #pragma execution_character_set("utf-8") 一切OK了 2016-10-8补充 PS:方法2只是用在Qt5 最初的某个版本上大概是两三年前的某个版本,当初使用是可以解决中文显示问题 最近用Qt5.6 5.7两个版本,这个方法已经不行了。 环境:VS2015   Qt5.7 QString str1=QStringLiteral("中文字符");   QString str2=QString::fromLocal8bit("中文字符")

2.1K50

轻量级Qt键盘-中文输入

在原有的键盘基础上新增中文输入功能。 ? 中文候选栏 中文输入候选栏ChineseWidget使用QListWidget和样式表实现: setText输入对应拼音字母,即会加载符合的拼音中文。 void pressedChanged(const int &code, const QString &text); ... }; 设置QListWidget: setFocusPolicy(Qt ListMode); /* 从左往右排列 */ setFlow(QListView::LeftToRight); /* 屏蔽水平滑动条 */ setHorizontalScrollBarPolicy(Qt ::ScrollBarAlwaysOff); /* 屏蔽垂直滑动条 */ setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); /* 设置为像素滚动 取拼音首字母索引,再匹配中文

44620
  • 广告
    关闭

    腾讯云校园大使火热招募中!

    开学季邀新,赢腾讯内推实习机会

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Qt中translate、tr关系 与中文问题

    用tr包住英文(最最推荐的用法,源码英文,然后提供英文到其他语言的翻译包) (2b) 用tr包住中文(源码用中文,然后提供中文到其他语言的翻译包) 注意哦,如果你正在用tr包裹中文字符,却不属于(2b ),那么,这是个信号: 你在误用tr 你需要的是QString,而不是tr 如果你确实属于(2b),请做好心理准备,你可能还会遇到很多困难,请考虑Qt国际化(源码含中文时)的点滴分析 tr 是做什么的? 简单回顾QString的中文问题 QString 采用的unicode,在中文支持上不存在任何问题 "我是中文" 这是传统的 const char * 的窄字符串 当将窄字符串赋值到QString时, (const char *); /  QT_TR_FUNCTIONS /  virtual int qt_metacall(QMetaObject::Call, int, void **); /  private : 其中的宏QT_TR_FUNCTIONS # define QT_TR_FUNCTIONS /  static inline QString tr(const char *s, const char

    2.1K20

    QT(C++)连接MySQL中文乱码解决

    34540

    Qt中文处理的简单方法

    QT是一套很不错的界面开发库,而且考虑到了跨平台的要求,使用也相对比较容易上手。 我也刚刚才学习用QT开发,发现它对中文的处理做的不是很好,或者更贴切的是做的不够智能吧,如果在字符串中输入中文,显示的就会是乱码。     下面就介绍一个简单的方法,让我们的中文正确显示出来,先看一段程序,该程序主要功能就是显示一个窗口,窗口上面的按钮显示中文。   代码分析:   上面的两段代码基本上是大同小异,没有多大的差别,程序的具体含义这里我不做介绍,只讲一下两段代码的区别,见上例中代码的黄色部分,该部分就是为中文显示所做出的改进。   有关国际化的详细情况,请参考Qt国际化文档。  注意也有一些Qt内置类为不同的字符串调用tr()。这些字符串使用英语,所以对于完整的翻译,编解码器将被这些字符串需要。

    82420

    Qt Creator 中文编译失败 怎么办

    Qt Creator 中c++源码有中文字符,结果不能编译成功。 Qt creator 的菜单里 编辑-Select Encoding,可以选择编码。以及工具-选项->文本编辑器->行为->文件编码里要选择UTF-8,BOM: 如果是UTF-8则自动添加。 给中文字符串加QStringLiteral宏或QString::fromLocal8Bit函数:QStringLiteral("你好中文!") 还有个好处,就是能用tr包中文,方便日后的翻译。 ps 之前的报错,我还发现,如果是偶数个中文就不会报错,奇数个就会编译报错。 同样适用Qt中文乱码的问题。 其实主要原因是用MSVC编译造成的。 参考:Qt与MSVC中文乱码问题的解决方案

    75030

    处理 Qt 中文提示 “常量中有换行符”

    Qt 自建的 Widget 窗口生成的 cpp 文件中,直接写中文编译时会提示错误。内容是 “常量中有换行符”。如下图所示: ? 要解决这个问题很简单,使用 notepad++ 打开你添加了中文的 cpp 文件,将编码转为 UTF8 编码(有 BOM 模式),如下所示: ? 这样再去编译的时候,一定不会再报错了,但是你会发现一个新的问题,就是编译出来的程序中文是乱码! ? 修改 Qt 默认设置让 UTF8 文件自动添加 BOM 为了让自己不用每次输入中文后都手动转换文件编码,可以设置 Qt 编辑器默认给 UTF8 格式无 BOM 的文档添加 BOM: ? 这样你就不用担心了,你可以随意输入中文在代码中,但记得要用 QStringLiteral 宏包裹一下。 Post Views: 9 相关

    9.1K51

    QT应用编程: 设置QT标准对话框为中文字体

    一、环境介绍 操作系统介绍:win10 64位 QT版本: 5.12.6 二、需要提前了解的知识 QT国际化支持: https://blog.csdn.net/xiaolong1126626497/article /details/113970945 三、问题原因 QT自带的标准对话框QFontDialog、QColorDialog、QMessageBox默认的文字全是英文的,QLineEdit和QTextEdit 去QT官网下载对应版本的源码包,解压之后在源码包搜索qt_xxx.ts,中文对应的就是qt_zh_CN.ts文件。 2. 下面图片是翻译之后的效果: 五、多个翻译文件如何加载的问题 在解决标准对话框为中文字体的时候,如果本来工程里就需要支持国际化,也就是说工程本来就有翻译文件需要加载, 这时又需要加载QT的翻译文件,这个问题如何解决 先说明,工程同一时刻只能加载一个翻译文件,为了能同时使用工程原来的翻译文件,也想使用QT的翻译文件,可以将两个ts文件手动合在一起,然后再生成一个新的qm文件即可解决。

    20830

    PyQt5 图形界面 - Qt Designer设置简体中文方法演示,Qt Designer字体设置,Qt Designer工具单独安装包获取,Qt Designer简体中文语言包获取

    Qt Designer 工具获取: PyQt5 图形界面 - Qt Designer 独立安装包,仅需 30M!python 图像化界面绘制工具 这是默认版本样式,下面来看下简体中文设置过程。 Qt Designer 简体中文语言包获取: 小蓝枣的 csdn 资源仓库 把语言包放在 Qt Designer 目录下的 translations 文件夹下,没有该文件夹的自己创建一下就好了。

    42410

    Qt编写控件属性设计器5-属性中文

    ,甚至枚举值的下拉框也可以在这里换成中文的。 曾经想过用翻译的机制,后面发现路很漫长,而且最终还是需要映射转换,看过QtDesigner的源码,里边最终也是将翻译文件中的对应项转换成中文的。 纯Qt编写,支持任意Qt版本+任意编译器+任意系统。 全部纯Qt编写,QWidget+QPainter绘制,支持Qt4.6到Qt5.12的任何Qt版本,支持mingw、msvc、gcc等编译器,支持任意操作系统比如windows+linux+mac+嵌入式 Qt入门书籍推荐霍亚飞的《Qt Creator快速入门》《Qt5编程入门》,Qt进阶书籍推荐官方的《C++ GUI Qt4编程》。

    41500

    源码分析Qt窗口标题中文乱码的问题

    设置窗口标题中文乱码现象迟迟不能解决。网上找了又找,解决方案是可以找到。但是往往是不知原因。本文从源码剖释究竟是什么回事。 1. 常用设置窗口标题方式 方式一:直接设置 window.setWindowTitle("中文") 方式二:通过赋值设置 QString title = "中文" window.setWindowTitle QString::fromUtf16(u"中文"); QString::fromLocal8Bit("中文"); 5. 总结 中文乱码大部分原因是字符编码问题; 不同系统下字符编码可能不一样; Qt5版本下设置窗口标题需要utf16编码。

    1.3K10

    解决Qt程序在Linux下无法输入中文的办法

    解决Qt程序在Linux下无法输入中文的办法 一位网友问我怎样在Linux的Qt的应用程序中输入中文,我一開始认为不是什么问题,可是后面自己尝试了一下还真不行。 不仅是Qt制作的应用程序,就连Qt Creator都无法支持。后面看了一些资料,了解了Qt应用程序的方法,这里和大家分享一下。 写一个bash脚本,内容例如以下: #! /bin/sh cd YourBinaryDirectory export QT_IM_MODULE=iBus . /YourProjectBinary 假设想让Qt Creator也能输入中文,那么能够这么写: #! /bin/sh cd ~/Develop/Qt5.3/Tools/QtCreator/bin export QT_IM_MODULE=iBus .

    8610

    Qt软件开发_解决中文路径无法识别问题

    前言 在QT for Windows 下编程时,经常因为一些中文路径、带空格的路径导致一些问题出现。 目录无法打开、文件无法打开、程序无法调用等等。下面记录一些出现问题的场景,并提供一些解决办法。 在Qt里调用_chdir函数切换当前工作目录时,如果目录有空格或者中文会导致路径切换失败。 QProcess执行-目录带中文 QProcess类用于启动外部程序并与它们通信。 运行进程要启动进程,请将要运行的程序的名称和命令行参数作为参数传递给start()。 /path/to/Qt/examples/widgets/analogclock"; QStringList arguments; arguments << "-style" < 使用QProcess调用启动指定的应用程序,如果这个应用程序在中文路径下。

    15730

    12.QT4.7.4-解决WIN平台和Linux平台中文乱码,QLineEdit右击菜单中文显示

    1.解决Win平台中文显示 1.1首先解决win平台上中文显示乱码问题 1)首先查看qt creator的编码格式 通过->编辑->选择编码 查看. 2)如果qt creator的编码格式是utf8,并且项目里的汉字是 步骤: 1)搜索qt_zh_CN.ts ,找到位于: C:\Qt\4.7.4\translations\qt_zh_CN.ts 2)在开始程序里打开qt预言家(linguist.exe) ? 2.解决Linux平台中文显示 2.1解决乱码,无法打印中文 有可能是qt配置界面的字体不支持中文 1)输入命令qtconfig 2)进入Qt配置界面,如下图所示,如果发现乱码,那就说明qt配置字体错了 3)点击第2格,然后选择字体,只要能显示中文出来,便可以: ? 4.设置好后,退出并保存,然后运行自己写的记事本程序效果: ? PS:Linux下的中文输入法默认输入是UTF-8,所以需要保证qt creator编码格式也是UTF-8,否则输入中文会乱码 2.2其次解决按钮、QLineEdit等编辑组件右击菜单等英文问题 1)输入

    1.2K70

    Qt开发-QT Widgets

    前言 Qt Quick和Qt Widgets这两种技术,官方是强推Qt Quick的。 https://download.qt.io/official_releases/QtForPython/ 注意: Qt Widgets使用Python结合PySide2开发的时候,窗口的缩放,内部的组件不会随之缩放 所以目前我就不太建议用Qt Widgets形式开发,建议Qt Quick. 常见属性 结合控件的SizePolicy属性,来控制布局管理中的控件的尺寸自适应方式。 Widget() widget.show() sys.exit(app.exec_()) 窗口设置 去掉顶部按钮 from PySide2.QtCore import QFile, Qt self.setWindowFlags(Qt.FramelessWindowHint)

    18250

    Qt开发-QT Quick

    前言 QT Quick和Qt widgets这两种技术,官方是强推QT Quick的。 QT Quick中布局一般有如下四种方式, 绝对坐标:x、y、z、width、height、top、left 锚(anchors) 布局 定位器(Row、Column、Grid、Flow) 布局管理器( #00000000 为窗口透明 //QML支持black 等颜色样式(没有#) //QML支持#11cfff 等颜色样式 //QML同样支持RGB格式 flags: Qt.Window //窗口标志 说明是什么窗口 使用 | 分割,缺省为Qt.Window //Qt.Window 普通窗口模式,带标题栏 //Qt.FramelessWindowHint 隐藏标题栏窗口 opacity:1 } opacity这个属性是对当前组件以及子组件都设置不透明度,所以不太适用 color: Qt.rgba(0,0,0,0)是对当前设置透明度,不会传到子组件 组件 基本组件

    17040

    Deepin15.11下Qt5.14无法使用中文输入法

    对于使用 fcitx 框架的中文输入法,需要手动编译 fcitx-qt5 生成中文输入法的库文件。 1. 安装 cmake,用于编译 fcitx-qt5 首先查看是否已经安装 cmake: cmake --verison 如果有显示版本信息说明已经安装,则可以到下一步;如果没有安装,则先安装: sudo apt 为 Qt 版本号),则说明已经设置过了 qmake 环境变量,可以到下一步;如果没有设置,则手动临时设置 qmake 环境变量(后续命令都需在该终端进行): export PATH="$HOME/Qt /Qt5.14.1/5.14.1/gcc_64/bin":$PATH # 具体路径根据自己安装目录确定 4. plugins/sqldrivers 下,x.y 为版本号)拷贝到 Qt 目录中的 Tools/QtCreator/lib/Qt/plugins/platforminputcontexts 中 5.

    17130

    Qt widget vs Qt Quick

    我为什么从web转向qt? (Qt4版本是qt gui Application , Qt5之后, gui界面用widgets可以做, 用qml也可以做, 就分开了。 故widgets Application 选项 就是qt GUI Application) Widgets适合传统桌面程序 Qt Quick 是 Qt 4.7 主推的技术 Qt 官网介绍:Qt 众所周知,Qt 为跨平台而生,而 QML/Qt Quick 作为 Qt 新生力量,完完全全继承了 Qt 包罗万象的特点,它的诞生为 Qt 进军移动领域迈出了历史性的一步。 随着 Qt 的不断迭代,QML/Qt Quick 也可用于开发传统的桌面程序,而且效率越来越高,这样以来,便可以用 QML/Qt Quick 做任何你想做的事情。

    5.3K11

    QT应用编程: 解决Visual Studio下使用qDebug没有输出、输出中文乱码

    一、环境介绍 操作系统: win10 64位 QT版本: 5.12.6 Visual Studio IDE 版本: 2017 二、设置子系统为控制台 三、输出中文乱码解决 在代码页第一行指定当前文本的编码

    8220

    qt操作json(QT 教程)

    以故事方式来学习如何使用Qt接口来操作JSON数据。 JSON三兄弟 老大哥QJsonValue 主要用于封装JSON值,类似于QVariant。 请关注下篇Qt之JSON教程-实战篇。 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/126528.html原文链接:https://javaforall.cn

    6730

    相关产品

    • 智聆口语评测(中文版)

      智聆口语评测(中文版)

      腾讯云智聆口语评测(中文版)是腾讯云推出的中文口语评测产品。支持从儿童到成人全年龄覆盖的普通话语音评测,支持字词、句子等多种模式,支持发音准确度(GOP),流利度,完整度等全方位打分机制,专家打分相似度 95% 以上。

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券