我试图从paintEvent()中找出是否正在按下按钮,以便我可以绘制“向下”状态。但是,我不知道在哪里可以找到这些信息。我试过 QStyleOptionButton::state 但它不知道按钮是否被点击。调试语句的输出总是类似于 "QStyle::State("Active | Enabled | HasFocus | MouseOver" )" 所以没有关于 MouseDown 状态的内容。
void XQPushButton::mousePressEvent(QMouseEvent* event) {
QPushButton::mousePressEvent(event);
QStyleOptionButton options;
options.initFrom(this);
qDebug() << (options.state);
}
void XQPushButton::paintEvent(QPaintEvent* event) {
QPushButton::paintEvent(event);
QStyleOptionButton options;
options.initFrom(this);
qDebug() << (options.state);
}
那么知道如何检测按钮是否被点击?