2014-02-06 4 views
0

У меня есть поле времени в db (timestamp), например: 2014-12-23 11:55:54 Я хочу показать эту таблицу в моем qtgui. Я сохранил поля таблицы внутри вектора. Тип этого поля «время» - «const char *». Я пробовал QString :: fromUtf8 и ascii и local8bit. после этого я видел только специальные символы в gui. Как я могу правильно написать свое поле времени в gui?Как добавить дату в QStandardItem в Qt

Btw Я не могу добавить код здесь, потому что у нас нет подключения к интернету, im используя мобильный телефон.

+0

Вы уверены, что символ * в векторе по-прежнему действителен? Что делает printf/std :: cout show? В C++ вы должны использовать std :: string (или QString), чтобы избежать таких проблем. –

+0

Его действительный, работает отлично. Я раздул его без использования qt. показывает правильную дату. – Duke

+0

Показать код. Ты определенно что-то испортил. Добавление в 'QStandardItem' с' QDateTime', созданное на основе метки времени, должно работать из коробки. Беседа с 'const char *' или 'QString :: fromUtf8' бессмысленна (по крайней мере это указывает на то, что вы делаете что-то ужасно неправильно). –

ответ

0

Сначала добавьте переменную дату и время текущего

var today = new Date() // contains current date and time 

Здесь вы можете организовать ваши настройки, такие как ширина высота или вы можете описать свой формат даты ..

Rectangle { 
    width: 200 
    height: 200 
    Text { 
     anchors.centerIn: parent 
     text: Qt.formatDateTime(new Date(), "yyMMdd") 
    } 
} 

Последняя, ​​просто реализовать функцию принять текущее время и дату. И показать их с помощью textLabel

SystemTime::SystemTime(QWidget *parent) 
    : QMainWindow(parent) 
{ 

    //get current date 
    QDate date = QDate::currentDate(); 
    QString dateString = date.toString(); 
    ui.label->setText("Date: " + dateString); 

    //get current time 
    QTime time = QTime::currentTime(); 
    QString timeString = time.toString(); 
    ui.label_2->setText("Time: " + timeString); 

    //get current date and time 
    QDateTime dateTime = QDateTime::currentDateTime(); 
    QString dateTimeString = dateTime.toString(); 
    ui.label_3->setText("Date and Time: " + dateTimeString); 
} 
+0

сначала спасибо для долгого ответа. однако у меня уже есть даты в векторном (const char * format) моей проблеме: я не могу записать его в tableView в моем gui. Я использовал QStandardItem для сохранения других полей. – Duke

+0

, тогда будет лучше, если вы отправите свой код. – goGud

Смежные вопросы