Qt スタイル シートを使用して、標準ウィジェットを大幅に再設計しようとしています。#objectName
そのため、セレクターによってさまざまなウィジェットに対してほとんどの作業を手動で行った後、何らかの方法で同様のウィジェットをグループ化することにしました。
たとえばQFrames
、内部フォームのヘッダーのように機能するものが複数あります。そして、それらすべてに同じスタイルシートが必要です。それを行う1つの方法は、命名規則を使用することです(これは私のフォールバックバリアントです)、つまりQFrame[objectName|="prefix_"]
. しかし、ウィジェットをクラスごとにグループ化したかったのです。そこで、単純なプレースホルダー クラスを作成しました。
class HeaderFrame: public QFrame
{
public:
HeaderFrame(QWidget *parent = NULL): QFrame(parent) {}
};
これにより、これらすべてを に昇格させることができましQFrames
たHeaderFrames
。その後、設定してみました
HeaderFrame { background-color: red; }
スタイルシートを MainWindow オブジェクト自体に追加します (すべての HeaderFrame で動作させるため) が、機能しません。QtCreator フォーム デザイナでは何も変更されず、アプリケーションのコンパイル後にも何も変更されません。このスタイルシートのさまざまなバリエーションを試しましたが、何も機能しません。
では、この方法でスタイリングできるのは Qt ウィジェット (QLabel、QFrame など) だけですか? または、昇格したウィジェットのスタイルシートを作成する方法はありますか?