1

次のようにスタイル設定されたいくつかのタブペインを持つ QTabBar があります。

QTabBar::tab {
    background: gray;
    color: white;
    width:auto;
    height:1em;
    border:0px;
    border-top-left-radius:8px;
    border-top-right-radius:8px;
}

QTabBar::tab:selected {
    background: lightgray;
    font-weight:bold;
    color:black;
}

これは次のようになります。

タブのテキストがトリミングされています

タブのサイズが一定であることがはっきりとわかります。おそらくカスタム フォントを除いて、この QTabBar に影響を与えるスタイルは他にありません。それに影響を与える特別なコードもありません。

私にはこれはバグに見えます。width:autoタブ内のテキストを含むようにタブのサイズが大きくなることが期待されます。これはスペースを節約するためです。多くのタブでは、幅を固定すると多くのスペースが必要になるからです。

さらに、パディングを設定して、テキストに次のようなスペースが追加されるかどうかを確認しました。

padding: 1em;

結果は次のようになります。

パディングがあってもテキストがトリミングされる

テキストはまったく同じようにトリミングされ、パディングがボックスの外側に追加されます。

負のマージン、ボーダー、パディングのあらゆる種類の組み合わせを試しましたが、役に立ちませんでした。これはQtでは不可能ですか?

次のように問題を修正できます。

width: 7em;

しかし、すべてのタブが同じ幅であり、大量の画面領域を無駄にする必要があります。

どんなヒントでも大歓迎です。ありがとう!

4

1 に答える 1

2

これに対する解決策を発見しました。

シンプルで、すぐに見つけられなかったのが恥ずかしかったです。しかし、これは他の人にとって何らかの価値があると思うので、削除しません。

width: 行を完全に省略します。どうやらwidth:autoqss でそれを除外するのと同じではありません。

于 2014-08-14T21:44:53.487 に答える