3

QToolButtonにQtの標準アイコンを使用しようとしていますが、問題があります。私のコードは次のとおりです。

m_buttonZoomPlus->setIcon(QStyle::standardIcon(QStyle::SP_DesktopIcon));

エラーメッセージが表示されます:

オブジェクトなしでメンバー関数'QIconQStyle :: standardIcon(QStyle :: StandardPixmap、const QStyleOption *、const QWidget *)const'を呼び出すことはできません

どういう意味ですか?空のQStyleオブジェクトを作成し、そのオブジェクトでstandardIcon関数を呼び出す必要がありますか?

その上、私はここで標準アイコンのリストを見つけました:http: //doc.trolltech.com/main-snapshot/qstyle.html#StandardPixmap-enum

このリストは網羅的ですか、それとも他の標準アイコンがありますか?たとえば、ズームイン/ズームアウトアイコンを探していますが、まだ見つかりません。

よろしくお願いします。

4

1 に答える 1

5

これはstandardIcon静的メソッドではないため、そのように呼び出すことはできません。を作成して適切に初期化する必要がありQStyleます。その後、そのメソッドを使用して特定のアイコンを取得できます。

編集:ジェレミーは正しいです。スタイルを変更したり、独自のスタイルを定義したりしない場合は、次を使用できます。

QApplication::style()->standardIcon(QStyle::SP_DesktopIcon);

参照:http ://doc.qt.io/qt-5/qstyle.html#standardIcon

于 2012-06-07T17:49:35.663 に答える