簡體   English   中英

Qt不可見的組合框在發行版本中(但不在調試版本中)

[英]Qt invisible combo box in release build (but not in debug build)

我有一個到目前為止運行良好的應用程序。 今天,我已經將Ubuntu升級到18.04,因此重新安裝了所有軟件組件,包括Qt。

現在,我經歷了一個漂亮的有線行為。 當我在調試版本中編譯應用程序時,一切都正確。 當我切換到發布版本時,一些組合框變得不可見。

奇怪的是,事件仍然有效,組合框仍然存在(但不可見)。 我知道這一點是因為我將installEventFilter()if(event->type() == QEvent::Enter) installEventFilter() if(event->type() == QEvent::Enter) ,如果我用鼠標懸停組合框,它將更改其他一些小部件。 盡管組合框不可見,但是當我將鼠標懸停在組合框所在的區域時,事件仍然起作用。

不幸的是,我不知道是什么導致了這個問題,所以我無法在一個最小的例子中重現它。

我的問題是:以前有人遇到過這樣的事情嗎? 並且:我應該從哪里開始尋找錯誤? (我無法調試它,因為一切對於調試版本都是正確的)

順便說一句:我不知道這是否相關,但是當我第一次嘗試運行該應用程序時,出現了一個錯誤,提示gl/gl.h丟失了。 向朋友谷歌尋求幫助后,我發現缺少OpenGL,因此我安裝了它。

設置組合框的屬性時,我會去尋找未初始化的變量。 通常在調試中,甚至將統一變量設置為某個固定值。

或者,也許您正在未在發行版本中編譯的斷言中設置屬性? 例如這樣

Q_ASSERT(...)

()之間的代碼只會在發布版本期間被跳過。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM