在Python和pyqt中显示Shamsi(Jalali)的QCalendarWidget

问题描述 投票:2回答:3

我想知道波斯语显示的QCalendarWidget(pyqt和python)我该怎么办? 或除英语以外的任何其他语言(例如波斯语,阿拉伯语,俄语等) 谢谢

python qt pyqt
3个回答
1
投票

您可以使用QCalenderWidgetlocal属性中的语言更改为Persian,从而更改Qt中的语言显示

enter image description here

输出:

enter image description here

编辑:

如果你想拥有Jalali和Hijri支持的日历,以及波斯语翻译,那么你将不得不安装StarCalender包并使用它的库来做这样的事情。

在这里它的来源fourge link也是如此


0
投票
cal = QtGui.QCalendarWidget()
cal.setLocale(QtCore.QLocale.Persian)

0
投票

Short Answer

你不能。 (然而)

Long answer

Qt does not support calendars。有一个work-in-progress(代码可用here)在QtWidgets和QtQuick模块中为Qt添加非Gregorian日历支持。如果一切顺利,补丁将合并到Qt 5.11。它现在足够稳定了,所以你可以将它应用到Qt 5.10源码,你应该没问题。

免责声明:我不知道可能的许可问题(如果您对Qt进行了更改,则可能需要发布源代码[?])。

重要笔记:

日历和区域设置是分离的和不相关的概念。这个动画gif应该详细说明(这是我们对Qt提出的改变的早期测试):

Image

© www.soinside.com 2019 - 2024. All rights reserved.