問題タブ [qtstylesheets]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1096 参照

qt - Why styling QT widgets makes them overstep size values?

This is something i´ve been struggling with since i started using stylesheets on QT.

I have this style:

This is the code I had to set to make it work.

Does it make sense?. Telling the size twice?. This buttons are always the same size. If i set the fixed size less than 20, it works anyway (because it keeps the minimum size from the stylesheet... so that makes me guess that stylesheet sizes are prioritary...)

But why not just tell the size inside the stylesheet. Why add those other lines?

Could somebody explain me what happens with this?. Why min-width on the styletheet to make it work?. Why not just give it the info about the background and make it work like the old style buttons?

0 投票する
1 に答える
903 参照

qt - 背景のタイプと色が Qt で機能しない

この画像でわかるように、背景が透明ではなく灰色のウィジェットがあります。

グレーゾーン。 白に設定されていますが、まだ灰色に見えます

私はレイアウトを備えたカスタムウィジェットを持っており、これScrollAreaはこのスタイルで内部にあります:

このスタイルでビューポートが表示するためのジェネリック内QWidget(setWidget):

透明でない色を試してみると、うまくいきません。いつも灰色。setAutoFillBackground(true) も試しましたが、うまくいきませんでした。(とにかくスタイルでは機能しません)。

これら 2 つのコンテナーのコードは次のとおりです。

0 投票する
2 に答える
3981 参照

qt - パディングとマージンを 0 に設定しても機能しない

それは単なるコンテナであり、ウィジェットを中に入れて非表示にしたり表示したりしたいと考えています。マージンやパディングを入れたくないので、見えなくなります (境界線も背景もありません)。

スタイルシートで QWidget#container を margin:0px, padding:0px に設定しました。そして、含まれるすべてのウィジェットに setObjectName("container") を設定します。

何も起こりません。ただし、背景色の設定は機能するため、実行されます。

これはどのような場合に起こりますか?これを修正する方法は?

0 投票する
1 に答える
2676 参照

qt - スタイルシートのプロパティを尊重してpaintEventでQtコントロールを描画する

「border-color」、「border-style」などのプロパティを取得するためのクラスまたはメソッドがQtにありますか...

これは、現在選択されているスタイル シートに基づいて独自の (派生した) コントロールを作成および描画するのに役立ちます。

コード:

QPushButtonCircle は円形のボタンです。境界線も円形です。境界線は 3 ピクセル幅で、実線で赤く着色されている必要があります。背景は青色にする必要があります。

paintEvent で完全に描画し、スタイル シートを無視することを期待する方法はありません。しかし、もっと良い方法があるはずです。

最高のものは次のようなものです:

これにより、次のような独自のコントロールを描画できます。

より良い解決策は、のようなものを描画する方法ですがQStyle::drawControlQStyle::drawPrimitive長方形のコントロールを想定するのではなく、QPainterPath (またはより単純なプリミティブ) を尊重します。

スタイルシートから派生した色を使用してQtで所有者描画コントロールを作成する最良の方法は何ですか?

0 投票する
1 に答える
891 参照

qt - 上部と右側の両方にタブがあるQTabWidget。

私はQTabWidget2つのタブがあります。1つを東側に、もう1つを上に配置したいと思います。

私はこれらのスタイルシートを試しましたが、今のところ正しく理解できませんでした。

また

また

また

誰か助けてもらえますか?

0 投票する
2 に答える
6331 参照

qt - Qt QCalendarWidget QSS Styling

I know there's no support for QCalendarWidget QSS styling but does anyone know some workarounds for changing the color of sections 1 and 2 of the QCalendarWidget? (the light blue for section 1 and white for section 2)

enter image description here

Thanks!

0 投票する
1 に答える
5717 参照

qt - Qt スタイルシートでフォントの「通常」バージョンと「太字」バージョン以外を指定することは可能ですか?

1 つのファミリ (エクストラ ライト、ライト、レギュラー、セミボールド、ボールド、ブラック) 内に複数のフォント ウェイトを持つフォントがあります。この例では、無料の Google Webfont Source Sans Pro を使用していますが、複数のウェイトを持つフォント (Mac OS 10.8 のシステム フォントである Avenir Next など) で同じ問題が発生しました。Qt スタイルシートで、指定した場合:

フォントの「通常」スタイルを取得します。私が指定した場合:

フォントの太字バージョンを取得します。レギュラーまたはボールド以外の組み合わせが思い浮かびません。font-family に直接太さを入れてみました (例: font-family: Source Sans Pro Light; )、font-weight: 指定子で Light や Semibold などを使用してみました、同等の数値を使用してみました ( Qt のドキュメントによると、CSS の x00 番号ではなく、0 から 99 までの値であると想定されています)。何も機能しません。

編集: font-weight プロパティの 0 から 999 までの数値をサブする簡単なプログラムを作成してみました。興味深いことに、0 から 399 までの値を入力すると「ライト」が得られました。400 から 407 で「レギュラー」、408 から 599 で再びライト、600 以上でセミボールドになりました。これは非常に奇妙に思えます。数値を使用すると、少なくとも「ライト」と「セミボールド」にアクセスできるからです。「エクストラ ライト」または「ブラック」ウェイトを取得する方法がまだ見つかりません。

私の唯一の質問は、これはカスタム コードに頼らない限り不可能なのでしょうか? 次のように QFont を作成することで、必要な正確なフォントを取得できます。

しかし、明らかにこれは、スタイルシートを使用できないことを意味します (さらに悪いことに、独自のスタイルシート パーサーを作成するか、既存の Qt パーサーをラップする必要があります)。これがスタイルシートでは不可能だとは少し信じがたいようです。マルチウェイトフォントはQtでサポートされていませんか?

0 投票する
0 に答える
543 参照

css - プッシュボタンのcssプロパティは、:checked?でオーバーライドされません。(Qt qss)

私はこれをQt4で使用します。

両方のコード:

チェックされているときのボタンは変更されません。

画像の下部(6ピクセル)には、ボタンがチェックされていない場合は削除されて表示されない部分があります。次に、ボタンをチェックするとその部分が表示されます。しかし、何が起こるかというと、それはまだ25サイズであり、下部に6ピクセルが表示されます。

つまり、明らかに何が起こっているのかというと、31pxが機能しないということです。実際、私は200pxを試しましたが、同じままです。

これが画像です。ご覧のとおり、下部に影があり、チェックされていないときに非表示にします。

使用している画像

そして、ここで何が起こりますか。最初の作品は大丈夫です。2番目はその問題です。完璧なはずです!元の画像として。このサイトhttp://border-image.com/を使っ て確認しましたが、動作します。

結果

0 投票する
2 に答える
1887 参照

qt - Qt、qss、フォントサイズを係数で増減

qssを使用してフォントサイズを一定の割合で増減することはできますか?

0 投票する
0 に答える
91 参照

qt - qss 定型化された QWidgets から実際のサイズを取得できません

コンテンツを追加した後、QT 4.7 の StyleSheet でスタイル設定したウィジェットの実際のサイズを取得できません。

たとえば、サイズを取得したいので、表示時にウィジェットにオフセットを設定して、適切に配置します。または他の多くの例。

それはうまくいきません。私は常に 0 を取得します。geometry()、fixedSize() などを試しました。

どのようにしますか?