QT中使用Event Filter監聽按鈕事件,Release後按鈕不見
問題RT,在程式中我使用了QT的監聽事件,監聽滑鼠的位置,如果滑鼠在按鈕上就改變按鈕的ICON,但是在Release版本中(Debug版本沒問題),這些被監聽的按鈕都看不見了,於是開始了尋找答案的道路。
閒話少敘,直接上碼:
void MainHomeForm::init()
{
//為按鈕註冊事件
ui->SystemSetButton->installEventFilter(this);
ui->ZoneSetButton->installEventFilter(this);
}
//系統監聽器監聽按鈕物件
bool MainHomeForm::eventFilter(QObject *target, QEvent *e)
{
if(target == ui->SystemSetButton)
{
if(e->type() == QEvent::Enter)
{
ui->SystemSetButton->resize(163,91);
ui->SystemSetButton->setIcon(QIcon(":/new/prefix1/back/系統設定2.png"));
}
else if(e->type() == QEvent::Leave)
{
ui->SystemSetButton->resize(115,60);
ui->SystemSetButton->setIcon(QIcon(":/new/prefix1/back/系統設定.png"));
}
}
else if(target == ui->ZoneSetButton)
{
if(e->type() == QEvent::Enter)
{
ui->ZoneSetButton->resize(163,91);
ui->ZoneSetButton->setIcon(QIcon(":/new/prefix1/back/區域控制2.png"));
}
else if(e->type() == QEvent::Leave)
{
ui->ZoneSetButton->resize(115,60);
ui->ZoneSetButton->setIcon(QIcon(":/new/prefix1/back/區域控制.png"));
}
}
}
想法一:顯示不了按鈕圖片,應該是圖片的路徑問題吧,於是使用在Release路徑下新增imageformats資料夾,還是不行
想法二:我發現按鈕都點不了了,那應該不是圖片的路徑問題了,直接出在按鈕上,果斷註釋了為按鈕註冊事件的兩句話,發現Release後按鈕顯示了
發現程式中我忽略了這麼一個Warning:
哦,之前一直忽略了,原來是因為eventFilter這個函式我沒給返回值,那我給一個好了
返回FALSE吧,發現按鈕還是不見
返回TRUE吧,發現按鈕可見了
預測:應該是返回值影響了按鈕是否可見吧
最終解決辦法:EventFilter要返回True哦
相關文章
- QT經驗(一)——按鈕長按事件分析QT事件
- 新增按鈕事件事件
- Androidx為Fragment中的按鈕設定監聽AndroidFragment
- Qt更改按鈕樣式 (以QSpinBox使用左右按鈕樣式為例)QT
- 按鈕上面的按鈕 (轉)
- VUE按鈕啟用事件Vue事件
- 按鈕
- Android ListView中按鈕監聽器設定及優化AndroidView優化
- 如何使用angularjs實現按鈕事件AngularJS事件
- Pew:川普就職後“憤怒”按鈕成Facebook使用者使用最多的按鈕
- 按鈕禁用
- Bootstrap 按鈕boot
- hbuilder mui如何監聽搜尋框點選清除按鈕UI
- C++ Qt開發:PushButton按鈕元件C++QT元件
- Qt控制元件精講一:按鈕QT控制元件
- Qt QMessageBox::information 自定義按鈕QTORM
- Android--按鈕點選事件Android事件
- Qt 模擬滑鼠事件-在兩個按鈕之間切換QT事件
- Qt中按鈕背景圖片的切換設定QT
- Fiori Elements List Report table 裡的普通按鈕,Global 按鈕 和 Determining 按鈕
- 窗體(文字框,按鈕,單選按鈕,標籤)
- Qt自定義開關按鈕控制元件QT控制元件
- 小程式按鈕
- Flutter Button(按鈕)Flutter
- iOS 按鈕動畫iOS動畫
- 復飛按鈕
- div按鈕CSSCSS
- UIButton - 按鈕UI
- iOS專案開發實戰——監聽對話方塊的按鈕點選事件iOS事件
- 由小見大!不規則造型按鈕解決方案
- Qt5.9中QSS(qt Style Sheet)用法之一設定按鈕顏色和背景色(設定按鈕間相互間隔、設定按鈕與周圍邊緣間隔)QT
- DuiLib逆向分析の按鈕事件定位UI事件
- Gridview中新增按鈕響應事件View事件
- SAP:SALV重新整理按鈕事件事件
- 各種語言按鈕事件特徵碼事件特徵
- css設定按鈕心跳收縮後,按鈕文字上下抖動,如何解決?CSS
- Qt中使用setStyleSheet對按鈕進行外觀設定QT
- 一個Form中2個按鈕,PHP後臺如何判斷提交的是哪一個按鈕ORMPHP