QMessageBox如何显示中文按钮

本文介绍了一种在不修改原有代码的情况下,实现Qt中QMessageBox英文按钮(如OK、Cancel)汉化的方法。通过编辑qt_zh_CN.qm文件,添加特定的上下文和翻译,即可轻松实现按钮文本的本地化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在网上搜索了许多如何将QMessageBox中提示框中的英文(OK、Cancel等)汉化,在尽量不改变原有的代码前提下,dosmlp提出的办法是最合适的,他通过跟踪源码发现,所有的翻译都是从QplatformTheme进行查找的,但是Qt自带的qt_zh_CN.qm没有进行翻译,所以,我们可以通过语言家将qt_zh_CN.qm另存为qt_zh_CN.ts文件,然后在末尾加上下面的上下文,然后发布另存为新的qm文件,这样,之前写的代码都不用动,而是重新加载下qm文件。

<context>
    <name>QPlatformTheme</name>
    <message>
        <source>OK</source>
        <translation>确定</translation>
    </message>
    <message>
        <source>Save</source>
        <translation>保存</translation>
    </message>
    <message>
        <source>Save All</source>
        <translation>保存全部</translation>
    </message>
    <message>
        <source>Open</source>
        <translation>打开</translation>
    </message>
    <message>
        <source>&amp;Yes</source>
        <translation>&amp;是</translation>
    </message>
    <message>
        <source>Yes to &amp;All</source>
        <translation>全部&amp;是</translation>
    </message>
    <message>
        <source>&amp;No</source>
        <translation>&amp;否</translation>
    </message>
    <message>
        <source>N&amp;o to All</source>
        <translation>&amp;全部否</translation>
    </message>
    <message>
        <source>Abort</source>
        <translation>终止</translation>
    </message>
    <message>
        <source>Retry</source>
        <translation>重试</translation>
    </message>
    <message>
        <source>Ignore</source>
        <translation>忽略</translation>
    </message>
    <message>
        <source>Close</source>
        <translation>关闭</translation>
    </message>
    <message>
        <source>Cancel</source>
        <translation>取消</translation>
    </message>
    <message>
        <source>Discard</source>
        <translation>放弃</translation>
    </message>
    <message>
        <source>Help</source>
        <translation>帮助</translation>
    </message>
    <message>
        <source>Apply</source>
        <translation>应用</translation>
    </message>
    <message>
        <source>Reset</source>
        <translation>重置</translation>
    </message>
    <message>
        <source>Restore Defaults</source>
        <translation>恢复默认</translation>
    </message>
</context>

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值