diff options
author | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2012-12-18 00:31:11 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-05-27 15:19:41 +0200 |
commit | cada1fb4ef04b64593156be1190884c314d7c041 (patch) | |
tree | 5a57ed170b15fa05754b3592641f945bd273f222 /src/widgets/widgets | |
parent | 24466d354219048b808393a094fcf80ae5c99e39 (diff) |
Add QComboBox::currentData
Convenience function that returns user data for the current item,
analogous to currentText().
This avoids to having to write the cumbersome
QVariant variant = comboBox->itemData(comboBox->currentIndex());
(It's quite common to put strings as text and the corresponding
enum values as user data.)
Change-Id: I8c7632c647c5583d18e4e22703aeb4447d73162d
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Diffstat (limited to 'src/widgets/widgets')
-rw-r--r-- | src/widgets/widgets/qcombobox.cpp | 14 | ||||
-rw-r--r-- | src/widgets/widgets/qcombobox.h | 3 |
2 files changed, 16 insertions, 1 deletions
diff --git a/src/widgets/widgets/qcombobox.cpp b/src/widgets/widgets/qcombobox.cpp index 6103b9b4c2..6424ee41f1 100644 --- a/src/widgets/widgets/qcombobox.cpp +++ b/src/widgets/widgets/qcombobox.cpp @@ -2066,6 +2066,20 @@ QString QComboBox::currentText() const } /*! + \property QComboBox::currentData + \brief the data for the current item + \since 5.2 + + By default, for an empty combo box or a combo box in which no current + item is set, this property contains an invalid QVariant. +*/ +QVariant QComboBox::currentData(int role) const +{ + Q_D(const QComboBox); + return d->currentIndex.data(role); +} + +/*! Returns the text for the given \a index in the combobox. */ QString QComboBox::itemText(int index) const diff --git a/src/widgets/widgets/qcombobox.h b/src/widgets/widgets/qcombobox.h index d167ac7d11..d4aeeb9620 100644 --- a/src/widgets/widgets/qcombobox.h +++ b/src/widgets/widgets/qcombobox.h @@ -66,6 +66,7 @@ class Q_WIDGETS_EXPORT QComboBox : public QWidget Q_PROPERTY(int count READ count) Q_PROPERTY(QString currentText READ currentText WRITE setCurrentText NOTIFY currentTextChanged USER true) Q_PROPERTY(int currentIndex READ currentIndex WRITE setCurrentIndex NOTIFY currentIndexChanged) + Q_PROPERTY(QVariant currentData READ currentData) Q_PROPERTY(int maxVisibleItems READ maxVisibleItems WRITE setMaxVisibleItems) Q_PROPERTY(int maxCount READ maxCount WRITE setMaxCount) Q_PROPERTY(InsertPolicy insertPolicy READ insertPolicy WRITE setInsertPolicy) @@ -167,8 +168,8 @@ public: void setModelColumn(int visibleColumn); int currentIndex() const; - QString currentText() const; + QVariant currentData(int role = Qt::UserRole) const; QString itemText(int index) const; QIcon itemIcon(int index) const; |