C++ 如何检测QLabel中的文本何时更改?

C++ 如何检测QLabel中的文本何时更改?,c++,qt,qlabel,C++,Qt,Qlabel,在我的程序中,我有一个QLabel,用户可以编辑它。我设置了以下标志: label->setTextInteractionFlags(Qt::TextSelectableByMouse | Qt::TextEditable | Qt::TextSelectableByKeyboard); 我希望标签能够根据内容进行缩放。如何检测文本何时更改,以便在适当的时候调用adjustSize()。在版面中,标签应该能够占据所有空间。如果有疑问,请将标签的QSizePolicy设置为MinimumE

在我的程序中,我有一个QLabel,用户可以编辑它。我设置了以下标志:

label->setTextInteractionFlags(Qt::TextSelectableByMouse | Qt::TextEditable | Qt::TextSelectableByKeyboard);

我希望标签能够根据内容进行缩放。如何检测文本何时更改,以便在适当的时候调用adjustSize()。

在版面中,标签应该能够占据所有空间。如果有疑问,请将标签的
QSizePolicy
设置为
MinimumExpanding
(宽度和高度):


还可以检查相邻小部件的大小策略。如果您没有使用布局,我的建议是:使用布局。

您提到调用adjustSize(),但如果QLabel不在布局中,adjustSize()则不会执行任何操作(因为sizeHint()返回无效的大小)。但是,如果QLabel的布局正确,则无需手动调整其大小。它是否在布局中?谢谢您的回答!标签不在布局中。我想做的是为一个uml类制作标题,如果这个类太小,我想调整它的大小。我意识到QGraphicsTextItem在这方面工作得更好。
label->setSizePolicy(QSizePolicy::MinimumExpanding,
                     QSizePolicy::MinimumExpanding);