Qtフレームワークを使用して、特定のフォント/スタイルでレンダリングされたテキストの幅をピクセル単位で測定するにはどうすればよいですか?Qtでのテキスト幅の測定
35
A
答えて
60
クラスQFontMetricsを使用できます。width()メソッドを参照してください。このメソッドは、指定されたQStringの幅を指定できます。
少し遅れQFont myFont(fontName, fontSize);;
QString str("I wonder how wide this is?");
QFontMetrics fm(myFont);
int width=fm.width(str);
6
、おそらくそれは@Paulによって解答に加えたようpaintEvent
QString text("text");
QFontMetrics fm = painter.fontMetrics();
int width = fm.width(text);
Chearsアレクサンダー
5
の誰か
に役立ちます、私がことがわかりましたテキストをペイントするとき(Qt4.8 on Linux)、実際にペイントされたテキストの幅とQFontMetrics::boundingRect
の幅が比較されない場合があります。私の場合は、絵が広すぎることがよくありました。
テキストをペイントするときに正確な結果が得られるようにするには、QPainter
で直接提供されるboundingRect
関数を使用することをお勧めします。
関連する問題
- 1. ライブマイクの振幅測定C#
- 2. 測定物体の幅
- 3. どのようにkineticjsでテキストの幅を測定するのですか?
- 4. SDL測定テキスト
- 5. 幅と幅に基づいたメディアクエリのFirefoxとウェブキットの測定
- 6. プログラムでブラックベリーの帯域幅の使用量を測定する
- 7. ボタンのラベルの測定幅を取得する
- 8. オーバーフローコンテンツのdivの幅を測定する方法
- 9. Rの信号の帯域幅を測定する
- 10. QT:フォントとその幅
- 11. UILabel固定幅/固定幅テキスト番号を取得
- 12. 文字列のピクセル幅を測定する
- 13. スーパーフィッシュ水平メニュー。どのように幅を測定する
- 14. 文字列の幅を正確に測定する方法は?
- 15. SAASアプリケーションの帯域幅使用量を測定
- 16. なぜネットワーク帯域幅がMHzで測定されますか?
- 17. カスタムキーボード予測テキスト
- 18. Androidのカスタムレイアウトの子供たちが測定した高さと幅を測定しない
- 19. sifrのテキストの幅
- 20. 特定の文書幅の後にテキストを書式設定
- 21. テキストよりも幅の広いテキストのセンタリング最大幅
- 22. Qtとコマンドコンソールのテキストの色
- 23. データノードでのスループットの測定
- 24. Windows Azureの帯域幅使用量をプログラムで測定する方法は?
- 25. 記事テキスト領域に特定の幅を設定する
- 26. 青写真でテキスト入力フォームの幅を設定する
- 27. テキストの内部で入力幅を設定する方法
- 28. XSLT固定幅の行でテキストを分割する
- 29. 指定された幅のrectでテキストを描画します。
- 30. Qtの多くのテキスト要素のフォントを指定するQML
Qt 5.5.1でOS Xで同じ状況が見つかりました。高さは落ちていた。私はスタンドアロンのQFontMetricsを使用していましたが、ペインタにフォントを設定し、boundingRectを使ってテキストを正確に測定する必要がありました。 – kainjow