c++ - 未在禁用的 QCheckBox 上调用 mousePressEvent()

标签 c++ qt qcheckbox

我正在尝试子类化 QCheckBox 以使其在禁用时通过鼠标点击。当我的复选框未被禁用时(isEnabled()true),Qt 按预期调用其 mousePressEvent()。当它被禁用时,调用不会发生。有什么办法可以战胜它吗?

最佳答案

您所描述的确实是记录在案的behavior .如果您查看 source code ,您将看到 QWidget::event 仅在启用小部件时调用 mousePressEvent

作为解决方案,您可以覆盖 event 而不是 mousePressEvent(QEvent *e) 并检查 e->type() == QEvent::MouseButtonPress.

关于c++ - 未在禁用的 QCheckBox 上调用 mousePressEvent(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42736527/

相关文章:

java - 通信模型 : C++ and Java

c++ - 我可以在 C++ 中获得非专用 vector<bool> 类型吗?

qt - QML中矩形边框的渐变

python - PyQt4 Qtreewidget - 如果选中子复选框,则获取层次结构文本

c++ - 保护回调函数免受解构类影响的最佳方法

python - QtGui.QPushButton.clicked[bool] 和 QtGui.QPushButton.clicked 之间的区别

Visual Studio 2012 中的 Qt, "error C1083: Cannot open include file: ' stddef.h' : No such file or directory"

python - QListView 中的复选框选择

python - 将复选框动态插入到 tabWidget 中

c++ - 令人困惑的 memcpy 行为,如何停止重叠