3

特定のタイプのウィジェットのスタイルをグローバルに変更するにはどうすればよいですか? その素敵な境界線のために、すべての QGroupBox インスタンスに「plastique」スタイルを使用させたいと思います。

左側は GTK スタイル (私は好きではありません)。右側に、私が望むスタイル。

プラスティックスタイル
(出典: qt-project.org )

プラスティックスタイル
(出典: qt-project.org )

QApplication::setStyle() のようにグローバルに設定したいのですが、QGroupBox に対してのみ設定します。方法はありますか?

ありがとう。

4

2 に答える 2

0

QWidget::setStyleスタイルを変更したいウィジェットで関数を使用する必要があります。

すべてのグループ ボックスに同じスタイルを持たせたい場合は、サブクラスを作成してそれのみを使用できます (同じウィジェット タイプのすべてのインスタンスのスタイルを変更する最も簡単な方法はありません)。

class MyGroupBox: public QGroupBox
{
    public:
        MyGroupBox(QWidget* parent) : QGroupBox(parent)
        {
            setStyle(/* the style you want */);
        }
};

もう 1 つの不便なオプションは、ウィジェット ツリーをトラバースし、ウィジェットのクラス名に従ってスタイルを設定することです。

Qt スタイル シートを使用することもできます。現時点では、これらはカスタム スタイルではサポートされていないことに注意してください。

于 2013-04-17T19:21:29.310 に答える
0

qssそのためにファイルを使用できます。これらは Qt 要素のスタイル シートです。ここで説明したように

で、HTML Web サイトの場合と同様にqss、クラスのスタイルを指定できます。QGroupBoxcss

于 2013-04-17T19:18:00.150 に答える