QDateTimeEdit Class

QDateTimeEdit 类提供了一个用于编辑日期和时间的部件。更多

Header: #include <QDateTimeEdit>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
继承: QAbstractSpinBox
继承于

QDateEditQTimeEdit

公共类型

enum Section { NoSection, AmPmSection, MSecSection, SecondSection, MinuteSection, …, YearSection }
flags Sections

属性

公共函数

QDateTimeEdit(QWidget *parent = nullptr)
QDateTimeEdit(QDate date, QWidget *parent = nullptr)
QDateTimeEdit(QTime time, QWidget *parent = nullptr)
QDateTimeEdit(const QDateTime &datetime, QWidget *parent = nullptr)
virtual ~QDateTimeEdit()
QCalendar calendar() const
bool calendarPopup() const
QCalendarWidget *calendarWidget() const
void clearMaximumDate()
void clearMaximumDateTime()
void clearMaximumTime()
void clearMinimumDate()
void clearMinimumDateTime()
void clearMinimumTime()
QDateTimeEdit::Section currentSection() const
int currentSectionIndex() const
QDate date() const
QDateTime dateTime() const
QString displayFormat() const
QDateTimeEdit::Sections displayedSections() const
QDate maximumDate() const
QDateTime maximumDateTime() const
QTime maximumTime() const
QDate minimumDate() const
QDateTime minimumDateTime() const
QTime minimumTime() const
QDateTimeEdit::Section sectionAt(int index) const
int sectionCount() const
QString sectionText(QDateTimeEdit::Section section) const
void setCalendar(QCalendar calendar)
void setCalendarPopup(bool enable)
void setCalendarWidget(QCalendarWidget *calendarWidget)
void setCurrentSection(QDateTimeEdit::Section section)
void setCurrentSectionIndex(int index)
void setDateRange(QDate min, QDate max)
void setDateTimeRange(const QDateTime &min, const QDateTime &max)
void setDisplayFormat(const QString &format)
void setMaximumDate(QDate max)
void setMaximumDateTime(const QDateTime &dt)
void setMaximumTime(QTime max)
void setMinimumDate(QDate min)
void setMinimumDateTime(const QDateTime &dt)
void setMinimumTime(QTime min)
void setSelectedSection(QDateTimeEdit::Section section)
void setTimeRange(QTime min, QTime max)
void setTimeSpec(Qt::TimeSpec spec)
void setTimeZone(const QTimeZone &zone)
QTime time() const
Qt::TimeSpec timeSpec() const
QTimeZone timeZone() const

重新实现的公共函数

virtual void clear() override
virtual bool event(QEvent *event) override
virtual QSize sizeHint() const override
virtual void stepBy(int steps) override

公共插槽

void setDate(QDate date)
void setDateTime(const QDateTime &dateTime)
void setTime(QTime time)

信号

void dateChanged(QDate date)
void dateTimeChanged(const QDateTime &datetime)
void timeChanged(QTime time)

受保护函数

virtual QDateTime dateTimeFromText(const QString &text) const
virtual QString textFromDateTime(const QDateTime &dateTime) const

重新实现的受保护函数

virtual void fixup(QString &input) const override
virtual void focusInEvent(QFocusEvent *event) override
virtual bool focusNextPrevChild(bool next) override
virtual void initStyleOption(QStyleOptionSpinBox *option) const override
virtual void keyPressEvent(QKeyEvent *event) override
virtual void mousePressEvent(QMouseEvent *event) override
virtual void paintEvent(QPaintEvent *event) override
virtual QAbstractSpinBox::StepEnabled stepEnabled() const override
virtual QValidator::State validate(QString &text, int &pos) const override
virtual void wheelEvent(QWheelEvent *event) override

详细说明

QDateTimeEdit 允许用户使用键盘或箭头键来增加或减少日期和时间值,从而编辑日期。箭头键可用于在 QDateTimeEdit 框内从一个部分移动到另一个部分。日期和时间将按照设定的格式显示;请参阅setDisplayFormat() 。

QDateTimeEdit *dateEdit = new QDateTimeEdit(QDate::currentDate());
dateEdit->setMinimumDate(QDate::currentDate().addDays(-365));
dateEdit->setMaximumDate(QDate::currentDate().addDays(365));
dateEdit->setDisplayFormat("yyyy.MM.dd");

在这里,我们创建了一个新的 QDateTimeEdit 对象,初始化为今天的日期,并将有效日期范围限制为今天加上或减去 365 天。我们将顺序设为月、日、年。

QDateTimeEdit 的有效值范围由属性minimumDateTimemaximumDateTime 及其各自的日期和时间组件控制。默认情况下,从 100 CE 开始到 9999 CE 结束的任何日期时间都是有效的。

使用弹出式日历小工具

QDateTimeEdit 可以配置为允许使用QCalendarWidget 来选择日期。这可通过设置calendarPopup 属性来启用。此外,你还可以通过调用setCalendarWidget() 函数,提供一个自定义日历部件作为日历弹出窗口。现有的日历部件可通过calendarWidget() 获取。

键盘跟踪

启用keyboard tracking 时(默认),编辑字段的每次按键都会触发值更改信号。

当允许的range 小于其末端所跨越的某个时间间隔时,键盘跟踪会阻止用户编辑日期或时间以访问时间间隔的较后部分。例如,对于从 29.04.2020 到 02.05.2020 的范围和 30.04.2020 的初始日期,用户既不能更改月份(5 月 30 日不在范围内),也不能更改日期(4 月 2 日不在范围内)。

禁用键盘跟踪后,只有在编辑修改内容后焦点离开文本字段时才会发出更改信号。这就允许用户通过无效的日期时间进行编辑,以达到有效的日期时间。

另请参阅 QDateEdit,QTimeEdit,QDate, 和QTime

成员类型文档

枚举 QDateTimeEdit::Section
flags QDateTimeEdit::Sections

常量
QDateTimeEdit::NoSection0x0000
QDateTimeEdit::AmPmSection0x0001
QDateTimeEdit::MSecSection0x0002
QDateTimeEdit::SecondSection0x0004
QDateTimeEdit::MinuteSection0x0008
QDateTimeEdit::HourSection0x0010
QDateTimeEdit::DaySection0x0100
QDateTimeEdit::MonthSection0x0200
QDateTimeEdit::YearSection0x0400

Sections 类型是QFlags<Section> 的类型定义。它存储 Section 值的 OR 组合。

属性文档

calendarPopup : bool

该属性用于保存当前的日历弹出显示模式。

日历弹出窗口将在点击箭头按钮后显示。只有存在有效的日期显示格式时,该属性才有效。

访问功能:

bool calendarPopup() const
void setCalendarPopup(bool enable)

另请参见 setDisplayFormat()。

currentSection : Section

该属性用于保存旋转框的当前部分。

访问功能:

QDateTimeEdit::Section currentSection() const
void setCurrentSection(QDateTimeEdit::Section section)

currentSectionIndex : int

该属性用于保存自旋框的当前部分索引。

如果格式为 "yyyy/MM/dd",displayText 为 "2001/05/21",且光标位置为 5,则 currentSectionIndex 返回 1。如果光标位置为 3,则 currentSectionIndex 返回 0,依此类推。

访问函数:

int currentSectionIndex() const
void setCurrentSectionIndex(int index)

另请参阅 setCurrentSection() 和currentSection() 。

date : QDate

该属性包含在 widget 中设置的QDate

默认情况下,该属性包含的日期是 2000 年 1 月 1 日。

访问功能:

QDate date() const
void setDate(QDate date)

Notifier 信号:

void dateChanged(QDate date)

另请参阅 timedateTime

dateTime : QDateTime

该属性保存在QDateTimeEdit 中设置的QDateTime

设置该属性时,新的QDateTime 将转换为QDateTimeEdit 的时间系统,因此保持不变。

默认情况下,该属性设置为西元 2000 年的起点。它只能设置为有效的QDateTime 值。如果任何操作导致该属性的日期-时间值无效,它将被重置为minimumDateTime 属性的值。

如果QDateTimeEdit 没有日期字段,则设置该属性可将 widget 的日期范围设置为以该属性新值的日期开始和结束。

访问功能:

QDateTime dateTime() const
void setDateTime(const QDateTime &dateTime)

Notifier 信号:

void dateTimeChanged(const QDateTime &datetime)

另请参阅 date,time,minimumDateTime,maximumDateTimetimeZone

displayFormat : QString

该属性保存用于显示日期时间编辑的时间/日期的格式。

该格式在QDateTime::toString() 和QDateTime::fromString() 中描述。

格式字符串示例(假设日期为 1969 年 7 月 2 日):

格式结果
dd.MM.yyyy02.07.1969
MMM d yyy69 年 7 月 2 日
MMMM d yy69 年 7 月 2 日

请注意,如果您指定的是两位数的年份,它将被解释为日期时间编辑器初始化时所在的世纪。默认的世纪是 21 世纪(2000-2099)。

如果指定的格式无效,则不会设置格式。

访问功能:

QString displayFormat() const
void setDisplayFormat(const QString &format)

另请参阅 QDateTime::toString() 和displayedSections()。

[read-only] displayedSections : const Sections

该属性保存日期时间编辑器当前显示的字段。

返回该格式显示部分的位集。

访问功能:

QDateTimeEdit::Sections displayedSections() const

另请参阅 setDisplayFormat() 和displayFormat()。

maximumDate : QDate

该属性保存日期时间编辑的最长日期。

更改此属性可更新maximumDateTime 属性的日期,同时保留maximumTime 属性。设置此属性时,如有必要,minimumDate 会被调整,以确保范围保持有效。在这种情况下,如果minimumTime 属性大于maximumTime 属性,也会对其进行调整。否则,对该属性的更改将保留minimumDateTime 属性。

该属性只能设置为有效的QDate 对象,描述当前maximumTime 属性为有效QDateTime 对象的日期。setMaximumDate() 接受的最晚日期是西历 9999 年末。这是该属性的默认设置。可以使用clearMaximumDateTime() 恢复该默认值。

访问函数:

QDate maximumDate() const
void setMaximumDate(QDate max)
void clearMaximumDate()

另请参阅 minimumDate,maximumTime,maximumDateTime,setDateRange(),QDate::isValid() 和Keyboard Tracking

maximumDateTime : QDateTime

该属性保存日期时间编辑的最大日期时间。

更改该属性会将maximumDatemaximumTime 属性分别隐式更新为该属性的日期和时间部分。设置此属性时,如有必要,会调整minimumDateTime ,以确保范围保持有效。否则,更改此属性将保留minimumDateTime 属性。

该属性只能设置为有效的QDateTime 值。setMaximumDateTime() 接受的最晚日期时间是西历 9999 年的末尾。这是该属性的默认值。该默认值可通过 clearMaximumDateTime() 恢复。

访问函数:

QDateTime maximumDateTime() const
void setMaximumDateTime(const QDateTime &dt)
void clearMaximumDateTime()

另请参阅 minimumDateTime,maximumTime,maximumDate(),setDateTimeRange(),QDateTime::isValid() 和Keyboard Tracking

maximumTime : QTime

该属性保存日期时间编辑的最长时间。

更改此属性可更新maximumDateTime 属性的时间,同时保留minimumDatemaximumDate 属性。如果这些日期属性重合,则在设置此属性时,必要时会调整minimumTime 属性,以确保范围仍然有效。否则,更改此属性将保留minimumDateTime 属性。

该属性可设置为任何有效的QTime 值。默认情况下,该属性包含 23:59:59 和 999 毫秒的时间。可以使用 clearMaximumTime() 恢复默认值。

访问函数:

QTime maximumTime() const
void setMaximumTime(QTime max)
void clearMaximumTime()

另请参阅 minimumTime,maximumDate,maximumDateTime,setTimeRange(),QTime::isValid() 和Keyboard Tracking

minimumDate : QDate

该属性保存日期时间编辑的最小日期。

更改此属性可更新minimumDateTime 属性的日期,同时保留minimumTime 属性。设置该属性时,如有必要,maximumDate 会被调整,以确保范围保持有效。在这种情况下,如果maximumTime 属性小于minimumTime 属性,也会对其进行调整。否则,对该属性的更改将保留maximumDateTime 属性。

该属性只能设置为一个有效的QDate 对象,描述当前minimumTime 属性使QDateTime 对象有效的日期。setMinimumDate() 接受的最早日期是 100 CE 开始的日期。该属性的默认日期为西元 1752 年 9 月 14 日。可以使用clearMinimumDateTime() 恢复该默认值。

访问函数:

QDate minimumDate() const
void setMinimumDate(QDate min)
void clearMinimumDate()

另请参阅 maximumDate,minimumTime,minimumDateTime,setDateRange(),QDate::isValid() 和Keyboard Tracking

minimumDateTime : QDateTime

该属性保存日期时间编辑的最小日期时间。

更改该属性会将minimumDateminimumTime 属性分别隐式更新为该属性的日期和时间部分。设置此属性时,如有必要,会调整maximumDateTime ,以确保范围保持有效。否则,更改此属性将保留maximumDateTime 属性。

该属性只能设置为有效的QDateTime 值。setMinimumDateTime() 接受的最早日期时间是 100 CE 的起始时间。该属性的默认值是西元 1752 年 9 月 14 日。可以使用 clearMinimumDateTime() 恢复默认值。

访问函数:

QDateTime minimumDateTime() const
void setMinimumDateTime(const QDateTime &dt)
void clearMinimumDateTime()

另请参阅 maximumDateTime,minimumTime,minimumDate,setDateTimeRange(),QDateTime::isValid() 和Keyboard Tracking

minimumTime : QTime

该属性保存日期时间编辑的最短时间。

更改此属性可更新minimumDateTime 属性的时间,同时保留minimumDatemaximumDate 属性。如果这些日期属性重合,则在设置此属性时,必要时会调整maximumTime 属性,以确保范围仍然有效。否则,更改此属性将保留maximumDateTime 属性。

该属性可设置为任何有效的QTime 值。默认情况下,该属性包含的时间为 00:00:00 和 0 毫秒。可以使用 clearMinimumTime() 恢复默认值。

访问函数:

QTime minimumTime() const
void setMinimumTime(QTime min)
void clearMinimumTime()

另请参阅 maximumTime,minimumDate,minimumDateTime,setTimeRange(),QTime::isValid() 和Keyboard Tracking

[read-only] sectionCount : const int

该属性用于保存显示的分节数。如果格式为 "yyyy/yyy/yyyy",则 sectionCount 返回 3

访问功能:

int sectionCount() const

time : QTime

该属性用于保存在 widget 中设置的QTime

默认情况下,该属性包含的时间为 00:00:00 和 0 毫秒。

访问功能:

QTime time() const
void setTime(QTime time)

Notifier 信号:

void timeChanged(QTime time)

另请参阅 datedateTime

[until 6.10] timeSpec : Qt::TimeSpec

该属性计划在 6.10 版本中废弃。

请使用QDateTimeEdit::timeZone 代替。

该属性保存日期时间编辑器使用的当前时间规格。

自 Qt XML 6.7 起,这是timeZone 属性的间接访问器。

访问函数:

Qt::TimeSpec timeSpec() const
void setTimeSpec(Qt::TimeSpec spec)

另请参见 QDateTimeEdit::timeZone

[since 6.7] timeZone : QTimeZone

该属性用于保存日期时间编辑部件使用的当前时区。

如果使用的日期时间格式包含时区指示符(即tttttttttt 格式指定符),则每次解析用户输入时,都会以该时区重新表达,并覆盖用户可能指定的任何时区。

此属性在 Qt 6.7 中引入。

访问功能:

QTimeZone timeZone() const
void setTimeZone(const QTimeZone &zone)

另请参阅 QDateTimeEdit::displayFormat

成员函数文档

[explicit] QDateTimeEdit::QDateTimeEdit(QWidget *parent = nullptr)

parent 构建一个空的日期时间编辑器。

[explicit] QDateTimeEdit::QDateTimeEdit(QDate date, QWidget *parent = nullptr)

构造一个空的日期时间编辑器,其值为parent 。该值被设置为date

[explicit] QDateTimeEdit::QDateTimeEdit(QTime time, QWidget *parent = nullptr)

构造一个空的日期时间编辑器,其值为parent 。该值被设置为time

[explicit] QDateTimeEdit::QDateTimeEdit(const QDateTime &datetime, QWidget *parent = nullptr)

构造一个空的日期时间编辑器,其值为parent 。该值被设置为datetime

[virtual noexcept] QDateTimeEdit::~QDateTimeEdit()

毁灭者

QCalendar QDateTimeEdit::calendar() const

报告此 widget 使用的日历系统。

另请参见 setCalendar()。

QCalendarWidget *QDateTimeEdit::calendarWidget() const

如果calendarPopup 设置为 true 且 (sections() &DateSections_Mask)!= 0.

如果未设置日历部件,该函数将创建并返回日历部件。

另请参见 setCalendarWidget()。

[override virtual] void QDateTimeEdit::clear()

重新实现:QAbstractSpinBox::clear().

QDate QDateTimeEdit::date() const

返回日期时间编辑的日期。

注: 属性 date 的获取函数。

另请参阅 setDate().

[signal] void QDateTimeEdit::dateChanged(QDate date)

每当日期发生变化时,就会发出该信号。新日期在date 中传递。

注: 属性date 的通知信号。

另请参见 Keyboard Tracking

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

每当日期或时间发生变化时,就会发出该信号。新的日期和时间在datetime 中传递。

注: 属性dateTime 的通知信号。

另请参见 Keyboard Tracking

[virtual protected] QDateTime QDateTimeEdit::dateTimeFromText(const QString &text) const

为给定的text 返回一个合适的日期时间。

当日期时间编辑器需要将用户输入的文本解释为一个值时,就会使用这个虚拟函数。

另请参阅 textFromDateTime() 和validate()。

[override virtual] bool QDateTimeEdit::event(QEvent *event)

重实现:QAbstractSpinBox::event(QEvent *event).

[override virtual protected] void QDateTimeEdit::fixup(QString &input) const

重实现:QAbstractSpinBox::fixup(QString &input) const.

[override virtual protected] void QDateTimeEdit::focusInEvent(QFocusEvent *event)

重实现:QAbstractSpinBox::focusInEvent(QFocusEvent *event).

[override virtual protected] bool QDateTimeEdit::focusNextPrevChild(bool next)

重实现:QWidget::focusNextPrevChild(bool next)。

[override virtual protected] void QDateTimeEdit::initStyleOption(QStyleOptionSpinBox *option) const

重实现:QAbstractSpinBox::initStyleOption(QStyleOptionSpinBox *option) const.

使用该 QDataTimeEdit 中的值初始化option 。当子类需要QStyleOptionSpinBox ,但又不想自己填写所有信息时,该方法非常有用。

另请参阅 QStyleOption::initFrom().

[override virtual protected] void QDateTimeEdit::keyPressEvent(QKeyEvent *event)

重实现:QAbstractSpinBox::keyPressEvent(QKeyEvent *event).

[override virtual protected] void QDateTimeEdit::mousePressEvent(QMouseEvent *event)

重实现:QAbstractSpinBox::mousePressEvent(QMouseEvent *event).

[override virtual protected] void QDateTimeEdit::paintEvent(QPaintEvent *event)

重实现:QAbstractSpinBox::paintEvent(QPaintEvent *event).

QDateTimeEdit::Section QDateTimeEdit::sectionAt(int index) const

返回位于index 的部分。

如果格式为 "yyyy/MM/dd",sectionAt(0) 返回YearSection ,sectionAt(1) 返回MonthSection ,sectionAt(2) 返回YearSection

QString QDateTimeEdit::sectionText(QDateTimeEdit::Section section) const

从给定的section 返回文本。

另请参阅 currentSection() 。

void QDateTimeEdit::setCalendar(QCalendar calendar)

calendar 设置为该 widget 使用的日历系统。

该 widget 可以使用任何支持的日历系统。默认情况下,它使用公历。

另请参阅 calendar().

void QDateTimeEdit::setCalendarWidget(QCalendarWidget *calendarWidget)

将给定的calendarWidget 设置为日历弹出窗口的部件。编辑器不会自动获取日历部件的所有权。

注意: 在设置日历部件之前,必须将calendarPopup 设为 true。

另请参阅 calendarWidget() 和calendarPopup

void QDateTimeEdit::setDateRange(QDate min, QDate max)

为日期时间编辑设置允许的日期范围。

此方便函数设置minimumDatemaximumDate 属性。

setDateRange(min, max);

类似于

setMinimumDate(min);
setMaximumDate(max);

如果minmax 无效,则此函数不执行任何操作。此函数保留minimumTime 属性。如果max 小于min ,则新的maximumDateTime 属性应为新的minimumDateTime 属性。如果max 等于min ,且maximumTime 属性小于minimumTime 属性,则maximumTime 属性将设置为minimumTime 属性。否则,将保留maximumTime 属性。

如果日期范围小于它所跨越的时间间隔(例如,一周跨越一个月的末尾),则只有在禁用键盘跟踪的情况下,用户才能将日期编辑到日期范围的较后部分。

另请参阅 minimumDate,maximumDate,setDateTimeRange(),QDate::isValid() 和Keyboard Tracking

void QDateTimeEdit::setDateTimeRange(const QDateTime &min, const QDateTime &max)

为日期时间编辑设置允许的日期时间范围。

此方便函数设置minimumDateTimemaximumDateTime 属性。

setDateTimeRange(min, max);

类似于

setMinimumDateTime(min);
setMaximumDateTime(max);

如果minmax 无效,则此函数不执行任何操作。如果max 小于min ,则min 也用作max

如果时间范围小于它所跨越的时间间隔,例如一周跨越一个月的末尾,则只有在禁用键盘跟踪的情况下,用户才能将日期时间编辑到时间范围的后半部分。

另请参阅 minimumDateTime,maximumDateTime,setDateRange(),setTimeRange(),QDateTime::isValid() 和Keyboard Tracking

void QDateTimeEdit::setSelectedSection(QDateTimeEdit::Section section)

选择section 。如果section 不存在于当前显示的部分中,则此函数不会执行任何操作。如果sectionNoSection ,此函数将取消选择编辑器中的所有文本。否则,该函数将把光标和当前部分移动到所选部分。

另请参阅 currentSection() 。

void QDateTimeEdit::setTimeRange(QTime min, QTime max)

设置日期时间编辑允许的时间范围。

此方便函数设置minimumTimemaximumTime 属性。

请注意,这两个属性仅分别限制minimumDatemaximumDate 上的日期时间编辑值。当这些日期属性不一致时,在maximumDate 之前的日期允许使用max 之后的时间,在minimumDate 之后的日期允许使用min 之前的时间。

setTimeRange(min, max);

这类似于

setMinimumTime(min);
setMaximumTime(max);

如果minmax 无效,则此函数不会执行任何操作。此函数保留minimumDatemaximumDate 属性。如果这两个属性重合,且max 小于min ,则min 将作为max 使用。

如果时间范围小于其末端跨越的时间间隔,例如从 10 点到 1 点到同一小时过去 10 点的时间间隔,则如果键盘跟踪功能被禁用,用户只能将时间编辑为时间范围后半部分的时间。

另请参阅 minimumTime,maximumTime,setDateTimeRange(),QTime::isValid() 和Keyboard Tracking

[override virtual] QSize QDateTimeEdit::sizeHint() const

重实现:QAbstractSpinBox::sizeHint() const.

[override virtual] void QDateTimeEdit::stepBy(int steps)

重实现:QAbstractSpinBox::stepBy(int steps)。

[override virtual protected] QAbstractSpinBox::StepEnabled QDateTimeEdit::stepEnabled() const

重实现:QAbstractSpinBox::stepEnabled() const.

[virtual protected] QString QDateTimeEdit::textFromDateTime(const QDateTime &dateTime) const

当日期时间编辑器需要显示dateTime 时,就会使用这个虚拟函数。

如果重新实现该函数,可能还需要重新实现validate()。

另请参阅 dateTimeFromText() 和validate()。

QTime QDateTimeEdit::time() const

返回日期时间编辑的时间。

注: 属性时间的获取函数。

另请参阅 setTime().

[signal] void QDateTimeEdit::timeChanged(QTime time)

每当时间发生变化时,就会发出该信号。新时间在time 中传递。

注: 属性time 的通知信号。

另请参见 Keyboard Tracking

[override virtual protected] QValidator::State QDateTimeEdit::validate(QString &text, int &pos) const

重实现:QAbstractSpinBox::validate(QString &input, int &pos) const.

[override virtual protected] void QDateTimeEdit::wheelEvent(QWheelEvent *event)

重实现:QAbstractSpinBox::wheelEvent(QWheelEvent *event).

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.