2010-12-14 129 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