2

Qt 4.7.4 と RTL のアプリケーション言語を使用しています。アプリケーションのレイアウトを RightToLeft に設定しました。そのため、QLineEdit のプレースホルダーを除いて、すべてが右から左になります。

setAlignment メソッドを試しましたが、テキストとプレースホルダーの方向が逆になります。次にsetStylesheetを試しましたが、うまくいきません

direction:rtl;
text-align:right;
unicode-bidi:embed;

バグだと思うのですが、何か修正はありますか?

4

1 に答える 1

2

バージョン 4.7 の変更ログは次のようになります。

QWidget::setLayoutDirection は、QTextEdit、QLineEdit、およびそれらに基づくウィジェットのテキスト レイアウト方向 (Qt::LeftToRight または Qt::RightToLeft) に影響しなくなりました。

デフォルトのテキスト レイアウト方向 (Qt::LayoutDirectionAuto) は、キーボード レイアウトとテキストの言語から検出されるようになりました (Unicode 標準に準拠)。

QTextEdit のテキスト方向をプログラムで強制するには、そのウィジェットに関連付けられた QTextDocument の defaultTextOption を、別の textDirection プロパティの新しい QTextOption で変更できます。

QLineEdit の場合、これまでのところ唯一の方法は、Qt::Key_Direction_L/R キーボード イベントをそのウィジェットに送信することです。

それが役立つことを願っています。

于 2012-06-14T10:51:56.177 に答える