0
我有一個qlabel小部件,我重寫了mouseReleaseEvent()它的工作原理,但不正確它只接受mouseReleaseEvent在小部件高度的一半,就像100%作品只有40%,我的意思是它不包括整個qlabels的正方形(100x100)區域。qlabel的mouseReleaseEvent()不能正常工作
這是Main.cpp的
QLabel sample(&Parent);//parent is just QWidget object
sample.resize(89,89);
sample.move((Parent.width()/2 - sample.width()/2), (Parent.height()/2 - sample.height()/2));
sample.setStyleSheet("QLabel{background-color:red;}");
label mylabel(&Disc);
sample.setMouseTracking(TRUE);
這是LABEL.CPP
void label::mouseReleaseEvent(QMouseEvent *event)
{
QMessageBox msgBox;
msgBox.setText("Clicked()");
msgBox.exec();
}
似乎沒有太錯,但它不工作。
謝謝!
忘了提及我也試過mouseMoveEvent(),mousePressEvent()..等等,但同樣的事情發生。不要從整個QLabel的正方形區域的鼠標輸入。 – wenn32
請你澄清一下情況嗎? MWE會比碎片更好。 QLabel或標籤問題在哪裏?代碼中不清楚這部分內容。你用'move()'移動QLabel,佈局部分在哪裏? –