Details
-
Bug
-
Resolution: Unresolved
-
P3: Somewhat important
-
None
-
5.6.3, 5.10.0
-
None
-
Windows 8.1 x64
Description
Code to reproduce:
#include <QApplication> #include <QWidget> #include <QVBoxLayout> #include <QCheckBox> #include <QLineEdit> int main(int argc, char *argv[]) { QApplication a(argc, argv); // Setup window layout QWidget widget; QVBoxLayout layout; QCheckBox chkRtl("RTL interface"); QLineEdit lineEdit; widget.setLayout(&layout); layout.addWidget(&chkRtl); layout.addWidget(&lineEdit); widget.show(); // Setup rtl checkbox QObject::connect(&chkRtl, &QCheckBox::stateChanged, [=](int state) { Qt::LayoutDirection dir = Qt::LeftToRight; if (state == Qt::Checked) dir = Qt::RightToLeft; QApplication::setLayoutDirection(dir); }); // Setup lineedit lineEdit.setClearButtonEnabled(true); return a.exec(); }
Result:
Once you change entered text in RTL-mode 'clear' action changes its position.
Also may work with:
- Actions added with QLineEdit::addAction;
- QComboBox (which contains QLineEdit inside).