aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--examples/widgetbinding/dialog.py3
-rw-r--r--examples/widgetbinding/wigglywidget.cpp12
2 files changed, 9 insertions, 6 deletions
diff --git a/examples/widgetbinding/dialog.py b/examples/widgetbinding/dialog.py
index 20dbd476c..1bd127804 100644
--- a/examples/widgetbinding/dialog.py
+++ b/examples/widgetbinding/dialog.py
@@ -21,12 +21,13 @@ class Dialog(QDialog):
layout.addWidget(wiggly_widget_py)
layout.addWidget(wiggly_widget_cpp)
layout.addWidget(lineEdit)
+ lineEdit.setClearButtonEnabled(True)
wiggly_widget_py.running = True
wiggly_widget_cpp.setRunning(True)
lineEdit.textChanged.connect(wiggly_widget_py.setText)
lineEdit.textChanged.connect(wiggly_widget_cpp.setText)
- lineEdit.setText("Hello world!")
+ lineEdit.setText("🖖 Hello world!")
self.setWindowTitle("Wiggly")
self.resize(360, 145)
diff --git a/examples/widgetbinding/wigglywidget.cpp b/examples/widgetbinding/wigglywidget.cpp
index 79fc79ee4..6fdc65f39 100644
--- a/examples/widgetbinding/wigglywidget.cpp
+++ b/examples/widgetbinding/wigglywidget.cpp
@@ -39,14 +39,16 @@ void WigglyWidget::paintEvent(QPaintEvent * /* event */)
//! [3]
QPainter painter(this);
//! [3] //! [4]
- for (int i = 0; i < m_text.size(); ++i) {
- int index = (m_step + i) % 16;
+ int offset = 0;
+ const auto codePoints = m_text.toUcs4();
+ for (char32_t codePoint : codePoints) {
+ const int index = (m_step + offset++) % 16;
color.setHsv((15 - index) * 16, 255, 191);
painter.setPen(color);
- const QChar c = m_text.at(i);
+ QString symbol = QString::fromUcs4(&codePoint, 1);
const int dy = (sineTable[index] * metrics.height()) / 400;
- painter.drawText(x, y - dy, c);
- x += metrics.horizontalAdvance(c);
+ painter.drawText(x, y - dy, symbol);
+ x += metrics.horizontalAdvance(symbol);
}
}
//! [4]