5
私はこのように、スタイルシートを使用してQToolButtonのアイコンを設定したいと思います:スタイルシートを使用してQToolButtonのアイコンを設定する方法は?
#include <QToolButton>
#include <QApplication>
QString FormStyleSheetString(const QString & name)
{
const QString thisItemStyle("QToolButton:enabled { image: url(" + name + "_normal.png); } "
"QToolButton:pressed { image: url(" + name + "_pressed.png); } "
"QToolButton:disabled { image: url(" + name + "_disabled.png); } "
);
return thisItemStyle;
}
int main(int argc, char * argv[])
{
QApplication qapp(argc,argv);
QToolButton button;
button.setStyleSheet(FormStyleSheetString("button"));
button.setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
button.setIconSize(QSize(200,200));
button.setText("some thing...");
button.show();
return qapp.exec();
}
私はこのようにそれをコンパイル:
g++ -O3 -std=c++0x -Wall -Wextra -pedantic test.cpp -lQtCore -lQtGui -I/usr/include/Qt/ -I/usr/include/QtCore/ -I/usr/include/QtGui/
残念ながら、上記(アイコンがない動作しません。示されている)。
setIconを使用すると、アイコンが正しく表示されます。
私は間違っていますか?スタイルシートを使用してボタンのアイコンを設定する方法は?私が使用し
イメージは以下のとおりです。
PS私は同様の質問hereを尋ねたが、テキストは(アイコンがすべて踏み付けさに設定されれば答えは動作しません注意してくださいテキストはアイコンの下にありません)。
EDIT 1:
QString FormStyleSheetString(const QString & name)
{
const QString thisItemStyle("QToolButton { qproperty-icon: url(" + name + "_normal.png); }; "
"QToolButton:pressed { qproperty-icon: url(" + name + "_pressed.png); }; "
"QToolButton:hover { qproperty-icon: url(" + name + "_disabled.png); }; "
);
return thisItemStyle;
}
それもうまくいきませんでした: (カミルKlimekが示唆したように)私もこの機能を試してみました。ボタンを押すか、ホバリングしてもアイコンは変わりません。
アイコンではなく画像を設定します。 try qproperty-icon:url() –
@ KamilKlimek私はそれを試みたが、うまくいかなかった。これは通常の画像を設定しますが、押されずにホバーしません。私はそれがこのバグのためだと思う:https://bugreports.qt.nokia.com/browse/QTBUG-2982?page=com.atlassian.streams.streams-jira-plugin:activity-stream-issue-tab –
あなたはイメージまたは背景としてそれを設定する必要があります!しかし、! CSSでサイズを調整する必要があります。 –