c++ - 防止 QLabel 用大字水平扩展

标签 c++ qt

我现在有这样的东西

QLabel* l = new QLabel(this);
l->setTextFormat(Qt::RichText);
l->set_IsSelf(IsSelf);
l->setWordWrap(true);
l->setText("Thissssssssssssssssssssssssssssssss"); 
l->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Minimum);
l->setMaximumWidth(40);

现在我意识到宽度很小,没关系。我想要的是显示所有内容并使其垂直展开。

最佳答案

你应该在一个布局中插入你的标签,它的 sizeconstraint 设置为 QLayout::SetMinimumSize 并将你的标签的垂直尺寸策略设置为 QSizePolicy::MinimumExpanding :

QVBoxLayout *layout = new QVBoxLayout(this);
layout->setSizeConstraint(QLayout::SetMinimumSize);

QLabel* l = new QLabel;
l->setWordWrap(true);
l->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::MinimumExpanding);

layout->addWidget(l);

关于c++ - 防止 QLabel 用大字水平扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24649289/

相关文章:

c++ - 分组密码的解密?

qt - l更新错误: Qualifying with unknown namespace/class

c++ - VS C++ 程序仅在从文件夹运行 .exe 时才有效? [不是VS调试]

c++ - 为什么小于运算符接受不同类型的参数而 std::min 不接受?

c++ - Qt 中 `:/foo` 、 `qrc:/foo` 和 `qrc:///foo` 路径之间的区别

Linux QT OpenCL 基本设置

python - 如何过滤QComboBox的数据

c++ - QListView中的QT4 QstringListModel

c++ - nvJPEG : encode packed BGR

c++ - 跨平台 NPAPI 接口(interface)/集成