[Qt-interest] Applying RightToLeft for whole application
admin at mbnoimi.net
admin at mbnoimi.net
Wed May 18 16:38:02 CEST 2011
On 18/05/2011 04:32 م, admin at mbnoimi.net wrote:
> Hi guys,
>
>
> For applying right to left layout I use setLayoutDirection function
> for each container (QWdiget, QMainWindow... etc) in some cases (I
> faced it) it's really exhausted procedure so I'm wondering:
>
>
> *Can I applying layout direction for whole application by single line?*
>
>
> PS
>
> I tried to use setLayoutDirection with QApplication varialble but it
> didn't work!
>
>
> intmain(intargc,char*argv[])
>
> {
> QApplication a(argc, argv);
> MainWindow w;
> a.setLayoutDirection(Qt::RightToLeft);
> w.show();
> return a.exec();
> }
>
> There is out code solution which passing -reverse argument. *Can I use
> -reverse somehow inside my code for geting its benefit?*
Sorry, It's working well when I use setLayoutDirection in main() but
it's not when I use it from MainWindow... see this slot:
voidMainWindow::on_actionInstant_Translation_triggered()
{
QTranslator translator;
if(qApp->isRightToLeft())
{
if(!translator.load(":/lang/en"))
qDebug()<<QObject::tr("Couldn't load English language");
// this->setLayoutDirection(Qt::LeftToRight);
qApp->setLayoutDirection(Qt::LeftToRight);
}
else
{
if(!translator.load(":/lang/ar"))
qDebug()<<QObject::tr("Couldn't load Arabic language");
// this->setLayoutDirection(Qt::RightToLeft);
QLocale::setDefault(QLocale(QLocale::Arabic, QLocale::SyrianArabRepublic));
qApp->setLayoutDirection(Qt::RightToLeft);
}
qApp->installTranslator(&translator);
ui->retranslateUi(this);
QLocale local;
/**
BUG: QMessageBox buttons didn't appear in Arabic for Arabic local language $ RTL layout
*/
QMessageBox::information(this, "", QLocale::languageToString(local.language()), QMessageBox::Yes|QMessageBox::No);
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.qt-project.org/pipermail/qt-interest-old/attachments/20110518/bfa74efb/attachment.html
More information about the Qt-interest-old
mailing list