0

123,000 ではなく 123,000 など、コンマで区切られた大きな数字を表示したいのですが、これを行うには、並べ替えが期待どおりに機能しない文字列にする必要があります。

4

2 に答える 2

0

QTableWidgetではなくQTableViewとQStandardItemModelに移動すると、少し簡単になります。これが自分に適しているかどうかはわかりません。

次に、DisplayRoleとは異なるSortRoleを指定できます。このように(Pythonが読みやすいことを願っています-私はPySideを使用しています)

    tableView = QtGui.QTableView(self)
    tableView.setSortingEnabled(True)
    model = QtGui.QStandardItemModel(3,2,self)
    model.setSortRole(QtCore.Qt.UserRole)
    for r in range(3):
        for c in range(2):
            item = QtGui.QStandardItem(["1,000","200","100"][r])
            item.setData(QtCore.Qt.UserRole,[1000,200,100][r])
            model.setItem(r,c,item)

    tableView.setModel(model)

setSortRole行をコメントアウトして、2つの動作を確認してください。

于 2012-03-27T14:47:46.067 に答える
0

はい、文字列に変換する必要があります。localeユーザー設定に基づいて数値を表示するために 使用します。

this->locale()->toString(value);
于 2012-03-27T10:44:17.683 に答える