2016-06-21 43 views
0

QLabelに画像とその画像を垂直に中心とするテキストを表示しようとしています。 私はこれを行う方法を理解することはできません。私はインターネット上で見つけた ほとんどのソースは、次のコードを使用することをお勧め:QLabel内の画像の近くにテキストを中央に配置

ui->label->setText("<img src='c:/images.jpg' style='vertical-align:middle;'> Hello"); 

は、しかし、私が得るものthisです。 テキストの一番下の行がイメージの近くにセンタリングされていますが、私はテキストの中央の行を中央に配置したいと考えています(例:made in ms paint)。かなり一般的な仕事のように聞こえますが、私は答えを見つけることができませんでした。

どうすればこの問題を解決できますか?

+0

スタイルシートを含むソリューションをお探しですか?必須ではありませんか?そうでない場合は、 'QHBoxLayout'を作成し、その中に2つの' QLabel'を入れることができます:画像に1つ、タイトルに – IAmInPLS

+0

スタイルシートが優先されます。はい、私は2ラベルのソリューションについて考えていましたが、それはちょうど私に見えません –

答えて

0

私はQtCreatorで実行しようとしましたが正常に動作します。したがって、まずは次のようにお試しください:

  1. 画像のサイズを確認してください。 paint.netやそのようなもので開きます。おそらく、上の画像は不可視の空の領域です。これらは、画像の実際のサイズは、可視部分が下部にある細長い矩形のように見えます。他の画像を試してください。
  2. フォーマットjpgをpngに変更してください。私はjpg形式で画像を表示することに問題があったので、私はいつもpngを使用しようとします。
  3. スタイルに関する問題。 QtはQtの一部ではないので、CSSスタイルで正しく動作しない可能性があります。私はバージョンQt 5.4.0でテストしました。あなたは年を取っている場合は、それを更新する時間があるかもしれません。
+0

画像は正方形です、それはここにあります:http://imgur.com/hHaLXD4。私はjpgとpngの両方を試しました - 同じ結果。私はQt 5.6を使用しています。スクリーンショットを投稿できますか?おそらく、使用するフォントサイズが小さすぎてテキストがテキストのボトムライン(これは私が今使っているもの)か中心ライン(これは私が達成しようとしているもの)のどちらにセンタリングされているのか分かりません。ラベルのフォントサイズを大きく設定してみてください。 –

+0

@ O.W.Grant - Hm ...はい、フォントサイズを大きくすると、ラベルは次のようになります:http://imgur.com/sxX7tSF。ですから、このコードをjsfiddle:jsfiddle.net/nr6Lme5nで使用するとうまくいきます。私はその理由は、ラベルのQtの垂直方向の整列では動作しないと思う。私は他のバリアントを試して、解決策が見つかるかどうかを書き留めます。 – steell911

関連する問題