問題タブ [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 に答える
1319 参照

c++ - Qtがこのスタイルシートタイプセレクターを適用しないのはなぜですか?

私はこの小さなテストケースを持っています。これは、一方が他方に完全に重なっている2つのウィジェットを表示することになっています。1つは半透明なので、もう1つのウィジェットはそれを通して輝くはずです。

そのために、タイプセレクターMenu(クラス名)を使用して、1つのウィジェットにスタイルシートを設定しました。ただし、ウィジェットを係数で不透明にする代わりに200/255、タイプセレクターがメニューオブジェクトにまったく適用されていないかのように完全に半透明になるため、青の輝きが見えなくなります。

代わりに*セレクターを使用すると、期待どおりに機能します。metaObject()->className()を正しく報告するの値をテストしましたMenu。誰かが私が犯したエラーを教えてもらえますか?これは実際のプログラムの縮小されたテストケースであり、はるかに奇妙な動作を示します。最初に、この縮小されたテストケースを機能させたいと思います。

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

qt - QDockWidgetに背景画像を追加できません

私の知る限り、ウィジェットの背景を画像にする方法は、qstylesheetを次のように変更することです。

QDockWidgetのメインウィジェットでない限り、これは機能しているようです。

これは私がしたことです:

  1. 新しいqtウィジェットプロジェクトを作成します
  2. オブジェクトQWidgetを作成します。ボタンを1つか2つ置いて、使用されていることを確認します。
  3. スタイルシートを手順2で作成したウィジェットに変更して、次のものを含めます。background-image: url(<your image here>);
  4. MainWindow uiファイルで、を追加しQDockWidget、そのメインウィジェットをQWidget手順2で作成したものにプロモートします。

プログラムを実行すると、QDockWidgetの背景がデフォルトのままであることがわかりますが、ウィジェットに追加したボタンまたはラベルは、選択した画像に背景を変更しています。

qss行をからbackground-imageに変更しbackground-color、画像ではなく色を選択すると、ウィジェットの色が変更されます。

QDockWidget背景画像(背景色だけでなく)を与えるための提案はありますか?

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

qt - レイアウトとSeekSliderへのスタイルシート?

ここで助けが必要です。Qtのスタイルシートのカスタマイズに関して2つの質問があります。

背景画像をウィジェットに設定できることは知っていますが、Qtスタイルシートを使用して背景画像をレイアウトに設定できますか?また、SeekSliderをスタイルシートでカスタマイズできますか?


QSliderと同じようにSeekSliderをカスタマイズできることがわかりました。これでレイアウトは残ります。


setLayoutを使用してレイアウトをウィジェットに追加し、そのウィジェットにスタイルシートを使用して背景画像を配置しました。

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

qt - 最新のデスクトップ GUI の設計

デスクトップ プログラムを開発したいのですが、最も重要な基準の 1 つは、使いやすさとスタイルの両方の点で優れたユーザー インターフェイスを持つことです。スタイルとは、通常 Android/Apple アプリケーションに関連付けられるクールなデザイン (および効果) を意味します。Chris Granger が Light Table 用に設計したものに似た (またはインスピレーションを得た) ユーザー インターフェイスを設計したいと考えています。Light Table へのリンクは次のとおりです。 http://www.kickstarter.com/projects/ibdknox/light-table Autodesk Maya でさえ、Qt を使用して設計されています。

また、ドラッグアンドドロップ方式でインターフェイスをデザインしたいので、インターフェイスの部分を手早く終わらせて、プログラムの他の重要な部分に移ります。私は Java Swing と AWT を使用してきました。しかし、それらは使いやすく優れたネイティブ インターフェイスを提供しますが、スタイル/クールな要因には適合しません。それでQtを試してみました。Qt は Swing よりも大幅に改善されていると感じました。しかし、初めてなので、十分な機能を判断できませんでした。VLC と Maya のインターフェイスは Qt で設計されているため、Qt が最適であることはわかっています。現在、Qt は UI デザイン用の 2 つの主要なツール、Qt Designer と Qt Quick を提供しています。彼らのドキュメントとサイトには、デスクトップ アプリケーションには Qt Designer を使用する必要があり、ネイティブ スタイルのインターフェイスが提供されると書かれています。しかし、ネイティブ スタイルのインターフェイスは必要ありません。一方、Qt Quick は、

Qt Quick をデスクトップの UI デザインに使用することはできますか?

または、実装したいデザインを Qt Designer から抽出することは可能ですか?

また、Autodesk Maya のインターフェイス デザインも好きで、自分のプログラムにそのようなタッチを加えたいと思っています。また、UI 設計用のクロスプラットフォーム ツールは他にもありますか。私が Qt を選んだもう 1 つの理由は、クロスプラットフォームであることです。プログラムを Linux/Windows/Mac で同じように実行したい。

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

qt - Qt Guiアプリケーションでダイアログの背景色(ウィンドウの色)を取得するにはどうすればよいですか?

Qtのバージョンは4.7.1で、QLineEditの背景色をウィンドウの色と同じに設定したいので、次のように使用します。

背景色の名前を取得してQLineEditのスタイルシートを設定しようとしましたが、アプリケーションを実行した後、QLineEditの色が少し異なることがわかりました。つまり、注意深く見ると違いがわかります。 Win7とMacの両方。誰かがダイアログの正しい背景色を取得する方法を見つけるのを手伝ってくれませんか、よろしくお願いします。

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

qt - QTabWidget のすべてのタブを互いに異なるスタイルにします

QTabWidget4 つのタブを含む があります。それらの各ヘッダーを個別にスタイルしたいと思います。スタイルシートを使用してそれを行うことができることがわかりました。しかし、私の問題は、タブの残りの部分を変更せずに、タブの名前がある 1 つのタブのヘッダーだけを変更できないことです。

簡単に言えば、最初のタブを赤、2 番目を青、3 番目を緑、4 番目を黄色にしたいとします。では、他のタブを変更せずに、すべてのタブのスタイルを変更するにはどうすればよいでしょうか。

ありがとう!

編集

すべてのタブ ヘッダーのスタイルを一度に変更する方法を確認しましたが、個別には変更できませんでした

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

qt - QSpliterハンドルとスクロールバーをこのようにスタイル設定するにはどうすればよいですか?

スクリープショットリンク:http://qt-apps.org/CONTENT/content-pre1/119860-1.png

上記のスクリーンショットリンクのように、スクロールバーハンドルとQSplitterハンドルの外観をカスタマイズしたいと思います。私はそれがスタイルシートからできることを知っています。しかし、私はこれをどのように達成するのか分かりません。ホルプ誰かが小さな例を共有することができます。ありがとう!

0 投票する
4 に答える
16703 参照

qt - qtStyleSheetsでの変数の使用

.qssファイルの16進数/RGB番号に変数名を付ける可能性はありますか?ええのために

これにより、スタイルシートの上部で変数を定義し、16進コードを使用する代わりに、必要に応じて変数名を使用できます。また、色を変更する必要がある場合は、1つの場所で変更する必要があり、ファイル全体に反映されます。

Saasも検索しましたが、qtでどのように使用できるかわかりません。

ありがとう :)

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

qt - Qt ですべての水平間隔を強制的に削除する

Qt を使用して、水平レイアウトのメイン ダイアログをセットアップしました。この水平レイアウトには、3 つの垂直レイアウトが含まれています。これらのレイアウトのすべてのコントロールを互いに突き合わせたいのですが、QT ですべてのパディングとスペースを削除することはできません。

すべてのレイアウトの間隔とパディングを 0 に設定し、CSS を使用してすべての境界線、パディング、マージンをクリアしました。私はまだくそったれの間隔を取り除くことができません。

これがどのように見えるかのイメージです:
コントロールが一緒にプッシュされていません。

私が考える限り、それらのウィジェットはその赤い線に対して押し上げられるべきです。

0 投票する
3 に答える
7985 参照

qt - Qt ウィジェット setStyleSheet

私はタブレット環境用にプログラミングしているので、一部のウィジェットは小さすぎてタッチ操作できません。QSpinBoxのボタンを具体的に大きくしたい。

いくつかの検索の後、 setStyleSheet 関数が表示される唯一の方法が見つかりましたが、その使用方法についてはあまり説明されていません。Qtリファレンスへのこのリンクでは、setStyleSheet関数に何を渡す必要があるかが説明されていますが、その一部を使用できるかどうか、または1つだけを変更したい場合でもすべてを使用する必要があるかどうかは明確ではありません。

とにかく、テキストの一部または全体を使用すると、この設定を適用した後、私の QDoubleSpinBox はデフォルトのように見えます。mi uiファイルで描いたので、今よりもさらに大きくなりました。もちろん、背景を黄色にペイントしたり (動作しているかどうかを確認するためだけに)、ボタンを大きくしたりしているわけではありません。

私はこの機能を使用しています:

}

何か助けはありますか?