在QT中:我只想显示一个图标和一些文字,所以我使用QPushButton。但是如何从中删除点击效果呢?
答案 0 :(得分:2)
您可以继承QPushButton并忽略除Paint事件之外的所有事件:
class IconLabel : public QPushButton {
...
bool IconLabel::event ( QEvent * e ) {
if (e->type() == QEvent::Paint) {
return QPushButton::event(e);
}
return true;
}
根据您的要求,可能需要让其他事件通过,例如,如果您想在IconLabel上使用工具提示:
if (e->type() == QEvent::Paint ||
e->type() == QEvent::ToolTip) {
return QPushButton::event(e);
}
答案 1 :(得分:2)
我没有尝试过这个solution,但看起来它应该有效。
从上面的链接复制
为标签使用加密文本,例如:
lbl->setTextFormat(Qt::RichText);
lbl->setText("<img src=":/myimage.png">Hello!");