View Issue Details

IDProjectCategoryView StatusLast Update
0038319PackagesLCLpublic2021-03-01 13:47
ReporterM.AUDIO Assigned ToZeljan Rikalo  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product Version2.1 (SVN) 
Summary0038319: Wrong bdRightToLeft RTL in Qt5 for TCheckBox TRadioButton TCheckGroup TRadioGroup
DescriptionQt5 widget set under x86_64 linux draws bdRightToLeft incorrectly for TCheckBox, TRadioButton, TCheckGroup and TRadioGroup.

This is my first introduction to Qt.
Tested on Fedora 33 and Xubuntu 20.10.
Steps To Reproduceexample project + comparative screenshots attached.
TagsbdMode, bdRightToLeft, qt, Qt5, rtl
Fixed in Revision64710
LazTarget-
WidgetsetQT5
Attached Files

Activities

M.AUDIO

2021-01-06 00:09

reporter  

M.AUDIO

2021-01-06 00:13

reporter   ~0128115

Last edited: 2021-01-06 00:17

View 2 revisions

the form in the Fedora screenshot is using GTK2 widget set, of course. the Qt5 was a bit ugly there (which is another issue) so I used the Xubuntu which draws nicer.

Zeljan Rikalo

2021-01-19 13:47

developer   ~0128412

I don't use RTL languages, please attach example project. AFAIR RTL usage is changed in Qt5 so it won't work easy per widget, but I'll take a look into.

M.AUDIO

2021-01-22 20:06

reporter   ~0128492

@Zelijan
thx for looking in to it, this is important for RTL users of Lazarus IDE because major linux distros are already started to left the GTK2.0 behind.
the example project is already attached. https://bugs.freepascal.org/file_download.php?file_id=34410&type=bug
in correct RTL 1s should be displayed at the right side, middle in the center, and 2s should be displayed at the left.
The green marks in the screenshots above are indicating the RTL is Ok, and the red marks are indicating otherwise .

Zeljan Rikalo

2021-03-01 13:47

developer   ~0129282

Please add Application.BidiMode := bdRightToLeft before Application.Initialize and it will work with r64710. Note that Qt5 changed handling of RTL, so it expect that RTL mode is set via QApplication object and not per widget (documentations says so). If this solution is ok with you please close.

Issue History

Date Modified Username Field Change
2021-01-06 00:09 M.AUDIO New Issue
2021-01-06 00:09 M.AUDIO File Added: qt5bdrighttoleftcheckradiogroup.zip
2021-01-06 00:09 M.AUDIO File Added: qt5bdrighttoleftcheckboxradio-1.png
2021-01-06 00:09 M.AUDIO File Added: qt5bdrighttoleftcheckboxradio-2.png
2021-01-06 00:10 M.AUDIO Tag Attached: qt
2021-01-06 00:10 M.AUDIO Tag Attached: bdRightToLeft
2021-01-06 00:10 M.AUDIO Tag Attached: rtl
2021-01-06 00:10 M.AUDIO Tag Attached: Qt5
2021-01-06 00:10 M.AUDIO Tag Attached: bdMode
2021-01-06 00:13 M.AUDIO Note Added: 0128115
2021-01-06 00:17 M.AUDIO Note Edited: 0128115 View Revisions
2021-01-19 13:47 Zeljan Rikalo Assigned To => Zeljan Rikalo
2021-01-19 13:47 Zeljan Rikalo Status new => assigned
2021-01-19 13:47 Zeljan Rikalo LazTarget => -
2021-01-19 13:47 Zeljan Rikalo Note Added: 0128412
2021-01-22 20:06 M.AUDIO Note Added: 0128492
2021-03-01 13:47 Zeljan Rikalo Status assigned => resolved
2021-03-01 13:47 Zeljan Rikalo Resolution open => fixed
2021-03-01 13:47 Zeljan Rikalo Fixed in Revision => 64710
2021-03-01 13:47 Zeljan Rikalo Widgetset QT5 => QT5
2021-03-01 13:47 Zeljan Rikalo Note Added: 0129282