2010-12-14 128 views
1

我有兩個小工具,一個是任意的(通常是QLineEdit),另一個是顯示Pixmap的QLabel。它們與QHBoxLayout彼此相鄰放置。具有此佈局的小部件依次放置在另一佈局中。在Qt中彼此相鄰的小工具大小相同

現在,我想要的是,帶有像素圖的標籤會自動調整大小,以便與其旁邊的任意小部件一樣高。但是,即使將標籤的sizePolicy設置爲Maximum,它仍然會擴展到原始像素大小,而不是調整像素大小並縮小以匹配其他小部件。而不是有兩個同樣大的小部件,我有任意一個小於其旁邊的像素圖的任意小部件。

任何想法如何獲得像素圖標籤的大小以匹配它旁邊的小部件的大小?

回答

2

如何:

int height = arbitraryWidget->height();    // get desired height. 

label->setSizeHint(QSize(label->width(), height); // set size hint to current width and desired height. 
label->setSizePolicy(QSizePolicy::Fixed);   // optional, but this ensures size is desired. 
+0

感謝。我可以在哪裏放置它,以便在任意小部件的大小改變時自動調用它?這似乎沒有任何信號。 – pafcu 2010-12-14 14:40:35

+1

我相信從你的任意部件的resizeEvent()方法發出一個信號將完成這項工作。然後,您的父窗口可以使用此代碼將該信號連接到一個插槽。 – GatorGuy 2010-12-14 14:48:07