Как передать строку в qdatetimeedit

от admin

Qt: Как установить дату со временем в QDateTimeEdit?

Я получаю даты в формате «2011-04-14 15:00:00» и хочу установить их в объект QDateTimeEdit.

Это то, что я делаю:

Но это никогда не устанавливается. Переменная отладки sDateTime всегда имеет значение «».

Кто-нибудь видит, что я делаю не так? Заранее спасибо.

задан 24 мая ’11, 08:05

1 ответы

из строки функция static в классе QDateTime. Это значит не изменить состояние вашего dateTime объект. Попробуй это:

ответ дан 24 мая ’11, 13:05

Да, это работает, также можно записать как dateTime = QDateTime::fromString(. ); — Тильман Фогель

Попробуйте проверить с помощью isValid возвращаемый член функции QDateTime. Кажется, у вас проблемы с date нить. Вы проверяли это перед использованием? — бедуин

Предложение о том, как отладить объект dateTime? Если я использую отладчик Qt, я получаю только » «если я попытаюсь исследовать объект. — Икки

Вот рабочий пример: codepaste.appspot.com/show?id=506124 Он принимает строки даты в качестве аргументов команды. Вам нужно будет указать встроенное пространство в кавычки, иначе оно будет рассматриваться как два аргумента, каждый из которых не соответствует указанному формату. — Тильман Фогель

@Tilman Vogel: хммм, значит ли это, что что-то не так с QDateTime dateTime=(QDateTime::fromString(/*. */)) сравнить с ‘QDateTime = QDateTime :: fromString (/ ** /)’? Я всегда думаю, что они идентичны, за исключением того, что в первом случае вы сохраняете себе оператор присваивания (во втором случае компилятор может сохранить его для вас). — бедуин

Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками qt datetime format or задайте свой вопрос.

Русские Блоги

QDateTimeEdit (23) основных элементов управления PyQt5

предисловие

QDateTimeEdit — это элемент управления, который позволяет пользователям редактировать дату и время. Вы можете использовать кнопки со стрелками вверх и вниз на клавиатуре для увеличения или уменьшения значения даты и времени. QDateTimeEdit устанавливает отображаемый формат даты и времени с помощью функции setDisplayFormat ()

Обычно используемые методы в классе QDateTimeEdit

метод описание
setDisplayFormat Установите формат даты и времени
гггг: представляет год, представленный 4
MM: представляет месяц, диапазон значений 01-12
дд: репрезентативный день, диапазон значений 01-31
ЧЧ: обозначает часы, диапазон значений 00-23
мм: представляет минуты, диапазон значений 00-59
сс: представляет секунды, диапазон значений 00-59
setMinimumDate() Установите минимальную дату контроля
setMaximumDate() Установите максимальную дату контроля
time() Вернуться к времени редактирования
date() Возвращает дату редактирования

Обычно используемые сигналы в классе QDateTImeEdit

сигнал смысл
dateChanged Этот сигнал испускается при изменении даты
dateTImeChanged Этот сигнал испускается при изменении даты и времени
timeChanged Этот сигнал испускается при изменении времени

Пример 1: QDateTimeEdit-1

Анализ кода:

По умолчанию, если класс QDateTimeEdit создается без указания даты и времени, система установит формат даты и времени так же, как локальный, и значение будет 1 января 2000 г. 0:00:00, вы также можете указать Дата и время, отображаемые элементом управления

Эффект заключается в следующем

Установите формат даты и времени. Если вы не хотите использовать системный формат по умолчанию, вы можете определить формат даты и времени с помощью setDisplayFormat ().

Эффект отображения показан на рисунке
这里写图片描述

Пример 2: использование QDateTimeEdit

Таблица эффектов выглядит следующим образом
这里写图片描述

Анализ кода

QDateEdit и QTimeEdit оба наследуются от класса QDateTimeEdit. Многие их функции и функции предоставляются классом QDateTimeEdit. Формат должен быть отмечен:
QDateEdit используется для редактирования даты, года, месяца и дня элемента управления
QTimeEdit используется для редактирования времени элемента управления, часов, минут и секунд
Если вы хотите использовать дату и время одновременно, используйте QDateTimeEdit

При настройке всплывающего календаря обратите внимание: во всплывающем календаре используются только классы QDateTimeEdit и QDateEdit, и хотя класс QTimeEdit может устанавливать всплывающий календарь грамматически, он не работает .

Установите диапазон даты и времени, установите дату и время на сегодня, а диапазон календарной игры: [Сегодня-365, Сегодня + 365]

Получить дату и время
Вы можете получать объекты даты и времени с помощью методов date (), datetime () и др. Если вы хотите получить такую ​​информацию, как год, месяц и день, вы можете вызвать год (), месяц (), день QDate () И другие функции

Сигнал и слот функции
Обычно используемыми сигналами элемента управления QDateTimeEdit являются dateChanged, dateTimeChanged и TimeChanged, которые отправляются при изменении даты, даты, времени и времени соответственно.
Установите функцию слота подключения сигнала для управления следующим кодом

How to set date in to QDateEdit from Variable or Text?

eyllanesc's user avatar

You are confusing concepts, setDisplayFormat() establishes the format of how the text will be displayed in the widget and nothing intervenes with the conversion of the string to QDate:

eyllanesc's user avatar

I think it might be possible due to your date is in string format. So can u use widget_date.setDisplayFormat("%d-%b-%Y")

Arpit's user avatar

    The Overflow Blog
Related
Hot Network Questions

Subscribe to RSS

To subscribe to this RSS feed, copy and paste this URL into your RSS reader.

Site design / logo © 2023 Stack Exchange Inc; user contributions licensed under CC BY-SA . rev 2023.3.11.43304

By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.

QDateTimeEdit Class Reference

The QDateTimeEdit class combines a QDateEdit and QTimeEdit widget into a single widget for editing datetimes.

QDateTimeEdit consists of a QDateEdit and QTimeEdit widget placed side by side and offers the functionality of both. The user can edit the date and time by using the keyboard or the arrow keys to increase/decrease date or time values. The Tab key can be used to move from section to section within the QDateTimeEdit widget, and the user can be moved automatically when they complete a section using setAutoAdvance(). The datetime can be set with setDateTime().

The dateformat is read from the system’s locale settings. It is set to year, month, day order if that is not possible. see QDateEdit::setOrder() to change this. Times appear in the order hours, minutes, seconds using the 24 hour clock.

It is recommended that the QDateTimeEdit is initialised with a datetime, e.g. Here we’ve created a new QDateTimeEdit set to the current date and time, and set the date to have a minimum date of now and a maximum date of a week from now.

Terminology: A QDateEdit widget consists of three ‘sections’, one each for the year, month and day. Similarly a QTimeEdit consists of three sections, one each for the hour, minute and second. The character that separates each date section is specified with setDateSeparator(); similarly setTimeSeparator() is used for the time sections.

Date Time Widgets

Member Function Documentation

QDateTimeEdit::QDateTimeEdit ( QWidget * parent = 0, const char * name = 0 )

QDateTimeEdit::QDateTimeEdit ( const QDateTime & datetime, QWidget * parent = 0, const char * name = 0 )

Constructs a datetime edit with the initial value datetime, parent parent and name name.

QDateTimeEdit::

bool QDateTimeEdit::autoAdvance () const

QDateEdit * QDateTimeEdit::dateEdit ()

QDateTime QDateTimeEdit::dateTime () const

Returns the datetime value of the editor. See the «dateTime» property for details.

void QDateTimeEdit::setAutoAdvance ( bool advance ) [virtual]

void QDateTimeEdit::setDateTime ( const QDateTime & dt ) [virtual]

Sets the datetime value of the editor to dt. See the «dateTime» property for details.

QTimeEdit * QDateTimeEdit::timeEdit ()

void QDateTimeEdit::valueChanged ( const QDateTime & datetime ) [signal]

This signal is emitted every time the date or time changes. The datetime argument is the new datetime.

Property Documentation

QDateTime dateTime

This property holds the datetime value of the editor.

The datetime edit’s datetime which may be an invalid datetime.

Set this property’s value with setDateTime() and get this property’s value with dateTime().

This file is part of the Qt toolkit. Copyright © 1995-2002 Trolltech. All Rights Reserved.

Читать:
Как посмотреть кто последний редактировал документ в 1с

Похожие статьи