QTableWidget 并生成英文数字作为数字行

Posted

技术标签:

【中文标题】QTableWidget 并生成英文数字作为数字行【英文标题】:QTableWidget and generate English number as number row 【发布时间】:2013-09-18 13:28:08 【问题描述】:

我有以下QTableWidget

我的程序是(Persian,Iran) locale中的Perisan语言,但Qt本身为英语中的每一行生成一组数字。

我的问题是,我如何将上述数字更改为我的语言环境?(0,1,2,3,۴,۵,۶,۷,۸,۹)

【问题讨论】:

也许你应该设置正确的字体? 我没有处理字体,我的机器上也有很多波斯字体。 能否提供代码,将数据返回到“数字”行? 【参考方案1】:

如果您想使用QTableWidget,您可以使用QTableWidget::setVerticalHeaderLabels 自己设置标题文本。

如果您切换到模型/视图方法,您可以重新实现QAbstractItemModel::headerData

QVariant MyModel::headerData (int section, Qt::Orientation orientation, int role) const

    if (orientation == Qt::Vertical && role == Qt::DisplayRole)
    
        QString persianDigit = ...;// get number in Persian from section value
        return persianDigit;
    
    else
    
         return QAbstractItemModel::headerData(section, orientation, role);
    

【讨论】:

以上是关于QTableWidget 并生成英文数字作为数字行的主要内容,如果未能解决你的问题,请参考以下文章

对 QTableWidget 中的数字列进行排序

如何生成两个数字之间的数字范围?

如何生成两个字母数字值之间的数字范围?

编写一个程序,该程序接受两个数字和一个像 (+,-,*, /) 这样的运算符作为命令行参数,并执行运算符指示的操作 [重复]

如何设置QTableWidget行垂直标题项的背景和前景色

如何验证 QTableWidget 中的单元格?