2013-08-19 38 views
0

在我的Qt程序中,我以編程方式生成模態QDialog。我想在這個對話窗口中顯示兩個小部件:一個顯示相機輸出和QTableWidget的自定義小部件,顯示在相機圖像中找到的角部的像素座標。我生成一個QHBoxLayout並添加我的自定義小部件和QTableWidget。然後我將這個QHBoxLayout設置爲QDialog窗口的佈局。我想實現的是通過使用QHBoxLayout來在QDialog的窗口區域中平均分配我的自定義QWidget和QTableWidget之間的可用空間。但我總是以QTableWidget佔據整個QDialog區域,重疊我的自定義小部件。我如何指導這兩個小部件完全共享QDialog區域?請注意,我首先添加自定義小部件,然後將QTableWidget添加到QHBoxLayout中。如何防止QTableWidget佔用QHBoxLayout中的整個窗口?

回答

1

確保在您的自定義小部件中指定了minimumSizeHintsizeHint,這將指示QLayout管理器該小部件需要特定的空間。爲了讓它們平均分配,您最好檢測QDialog的大小,然後通過刪除邊界大小(小部件+空間之間的間距到QDialog邊緣)並將其分開來指定兩者的寬度。