if(target==ui->pb_work){
if(e->type()==QEvent::MouseButtonPress){
char sendMessage2[] = "<set><var>.Key_WorkClamp</var><val>1</val></set>\n";
sock->write(sendMessage2);
sock->flush();
readServer1();
}
if(e->type()==QEvent::MouseButtonRelease){
char sendMessage2[] = "<set><var>.Key_WorkClamp</var><val>0</val></set>\n";
sock->write(sendMessage2);
sock->flush();
readServer1();
}
因為按鈕較多,代碼都是重復的,所以只貼了這部分,
也ui->pb_work->installEventFilter(this);代碼運行沒有問題,但是界面里這個按鈕看不見形狀,但是在按鈕大概的位置上點擊的話,我用于檢測的qDebug()是有輸出的,也就是說功能可以實作,但是按鈕不見了,我試過不ui->pb_work->installEventFilter(this),按鈕就又出現了。
uj5u.com熱心網友回復:
上面貼出的代碼看不出問題,過濾器和看不到按鈕,從這兩個關鍵字可以猜測是因為eventFilter里面出了問題,很有可能paintEvent被過濾掉了,所以無法繪制出按鈕控制元件。可以把eventFilter貼出來分析下。
uj5u.com熱心網友回復:
可能是在eventFilter最后沒有回傳return QWidget::eventFilter(target, event);
uj5u.com熱心網友回復:
只過濾了滑鼠事件,其他事件都讓你丟了
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/106877.html
標籤:Qt
