1. 程式人生 > >兩個QWidget疊加,可部分代替layout的功能

兩個QWidget疊加,可部分代替layout的功能

tails 定義 qt開發 鏈接 繼承 href 發現 get 開發

在QT開發過程中,有時候會遇到這樣的問題,當我們自己創建了一個Layout對象以後,使用QWidget的setLayout方法,將這個Layout對象應用到窗口中的時候,發現窗口上沒有我們添加的控件,比如,QMainWindow就是一個例子,還有QToolBar也是這樣,還有其他的QT預定義的別的窗口類有時候也會遇到這樣的情況。

之所以出現這樣的情況,是因為這個窗口類中,已經有了一個Layout對象了,這時候,當你再setLayout的時候,就是無效的,這是有三個辦法,一個辦法是調用layout()方法,返回這個窗口內部的Layout的對象,然後刪除它,再調用setLayout設置自己的Layout對象,還有一個辦法,就是直接使用這個窗口內部的Layout對象,第三個方法,就是直接創建其子窗口,在這個子窗口中使用Layout對象,如,在QMainWindow中,我們通常創建一個繼承於QWidget的窗口對象,然後調用setCentralWidget方法來安裝這個窗口,然後在這個窗口中使用自己的Layout。

原文鏈接:http://blog.csdn.net/xinzhiyounizhiyouni/article/details/44521501

http://blog.csdn.net/gyhguoge01234/article/details/53561271

兩個QWidget疊加,可部分代替layout的功能