我正在继承QLabel并将其插入到QVBoxLayout中,并且我遇到了大小问题.以下屏幕截图是我的应用程序当前的外观:

顶部的黄色小部件是我的QLabel,布局是默认布局.我希望我的标签缩小以适应文本而不用手动设置它setMinimumHeight(),但是这不允许我使用比标签宽度更长的字符串.我检查了文档QString(这是我传递给标签的构造函数),我找不到提取文本大小的方法.有没有什么办法可以动态改变我的标签大小以适应文本,没有多余的空间?
是的,你可以找出文本的通过宽度QFontMetrics的QLabel.例如:
QLabel *label = new QLabel("Text");
int w = label->fontMetrics().width(label->text());
qDebug() << Q_FUNC_INFO << w;
//in my case this results in 24px, so 6px per character.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4974 次 |
| 最近记录: |