【发布时间】:2012-05-15 06:48:03
【问题描述】:
我在 QStackedWidget 中使用了 QLabel 和 QPLineEdit,QLable 应该几乎是容纳这个小部件的窗口的大小。
但是当我给 QLabel 设置一个超长的文本时,它扩展太多了,我无法水平减小窗口大小,最小宽度太大了。
我已经将这三个小部件的大小策略设置为Minimum,它对我不起作用。
更新
也许这样说更好:当空间不足时,如何让QLabel显示部分文本
示例代码
#include <QtGui>
int main ( int argc , char **argv )
{
QApplication app (argc , argv);
QWidget w;
QLabel *label = new QLabel ("Very very very long text");
label->setSizePolicy (QSizePolicy::Minimum , QSizePolicy::Fixed);
QVBoxLayout layout (&w);
layout.addWidget ( label );
w.show();
return app.exec();
}
【问题讨论】:
-
为什么不给标签一个最大宽度?
-
@Mat 它就像一个 IM 窗口,我不希望用户获得该应用程序的大“最小宽度”
-
是的,那你为什么不为那个标签设置一个最大宽度呢?
-
@Mat ,但是当窗口调整大小时,我希望 QLabel 显示更多
-
您必须发布代码的相关部分。如果您使用的是简单布局,则在向标签添加文本时父小部件不应增长 - 至少在此处的简单测试中不会发生这种情况。