QT5之 新窗口設為主窗口的子窗口顯示后,主窗口菜單欄不可用解決方案


在qt5中主界面有菜單欄,選擇菜單欄的選項之后,想讓該選項對應的窗口界面在當前主界面窗口中。主界面窗口中動態生成 新窗口,並在new的時候指定本類為父類。代碼如下:

Eight* eight;//新窗口類名為Eight,此句實際在主窗口的頭文件中
eight=new Eight(this);//在主窗口中動態生成指定窗口,並指定本窗口為起父窗口

上面代碼運行之后,會發現eight窗口順利出現在主窗口內。但是!但是此時發現,主窗口的菜單欄此時只能看到,但是不可用!

解決方案:在主窗口中添加一個 新的窗體控件,並設定新窗體控件的大小,即設定你想讓出現在主窗體的子窗體的顯示區域。然后指定創建子窗體的時候,指定該窗體控件為其父窗體。

代碼如下:

Eight *eight;
eight=new Eight(ui->widget);//設置主窗體中的 窗體控件為新窗體父窗體

編譯運行,發現新窗體出現在主窗體區域內,但是主窗體的菜單欄依然可用。問題解決。

另一種解決方案:模式。新窗口出現在主窗體內,但是通過 模式 設置,可以使父窗口的一切控件可用。這個也是不足的地方。如果主窗體本身有內容,就會亂。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM