問題描述:
在Qt Designer中設計佈局時,對所有控制元件使用QGridLayout、QHBoxLayout或QVBoxLayout佈局設定。可以正常預覽(Preview),但C++編譯後,所有控制元件擠到一起,佈局設定失效。
問題解析:
預覽時正常,說明不是Qt的問題,應該與C++程式碼有關。
問題解決:
檢視與ui關聯的程式碼,發現這個視窗繼承類QMainWindow()。
“我的這個類繼承於QMainWindow,這個類有自己預設的佈局管理器,所以我這個佈局管理就無效,需要進行指定。”
因為不知道如何指定佈局,所以我換了個思路:將繼承類改為QDialog(),問題解決!