Название: Qt-4.1.4 Как задать региональные стандарты в приложении
Отправлено: pacmanoid от Сентябрь 15, 2006, 06:28
Использую QT-4.1.4.
Написал программу. Всебы хороше, но пользователь привык к национальным стандатрам, то есть вместо точек при вводе чисел он привык набирать запятые.
Также немогу поменять формат отображения даты в таблицах (В QTableView + QSqlQueryModel ). Поля отображающие даты, отображают их в английском формате представления, например 2006-09-06. А мне недо чтобы они представлялись в русском типа 06.09.2006.
Пожалуста, кто знает подскажите!!!!
Название: Qt-4.1.4 Как задать региональные стандарты в приложении
Отправлено: Alexei от Сентябрь 15, 2006, 07:23
Для отображения даты можно использовать свой делегат: class SqlDelegate : public QItemDelegate { public: SqlDelegate(QObject* parent = 0); void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const; };
void SqlDelegate::paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const { if (index.data().type() == QVariant::Date || index.data().type() == QVariant::DateTime) { QStyleOptionViewItem opt = option; QDate dt = index.data().toDate(); QString s = dt.toString("dd.MM.yyyy"); QVariant value = index.data(Qt::TextColorRole); if (value.isValid() && qvariant_cast<QColor>(value).isValid()) opt.palette.setColor(QPalette::Text, qvariant_cast<QColor>(value)); opt.displayAlignment = Qt::AlignVCenter | Qt::AlignHCenter; drawDisplay(painter, opt, opt.rect, s); drawFocus(painter, opt, opt.rect); return; } QItemDelegate::paint(painter, option, index); }
|