[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