Qt 如何使QPushButton的高度自动适合文本?

Qt 如何使QPushButton的高度自动适合文本?,qt,qpushbutton,Qt,Qpushbutton,我有一个按钮 QPushButton *btn = new QPushButton(); btn->setText("Push \n Button"); 结果是: 我尝试过使用Qt设计器设置izepolicy(QSizePolicy::Preferred,QSizePolicy::Preferred),但没有帮助。 当我调用setText时,如何自动调整按钮的高度以适应内容?您可以将垂直设置为允许小部件增长的选项,QPushButton的垂直大小策略的默认选项是固定的,您可以从代码中

我有一个按钮

QPushButton *btn = new QPushButton();
btn->setText("Push \n Button");
结果是:

我尝试过使用Qt设计器设置izepolicy(QSizePolicy::Preferred,QSizePolicy::Preferred),但没有帮助。

当我调用
setText
时,如何自动调整按钮的高度以适应内容?

您可以将垂直设置为允许小部件增长的选项,
QPushButton
的垂直大小策略的默认选项是固定的,您可以从代码中这样做:

btn->setText("Push \n Button");
btn->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
如果您使用designer来创建ui,则可以在designer中对其进行更改。 请参阅文档中的更多选项,并选择最适合您需要的选项


还可以为小部件使用布局,这非常有帮助,尤其是当您的窗口可以更改大小时。

谢谢您的帮助。我已经尝试使用Qt Designer,但它不起作用。这样设置后,我仍然看不到结果。我已经更新了上面的结果。好吧,首先把它放在一个布局中,如果你不知道的话,你完全可以控制它的大小(所以你需要手动把它变大)。其次,您为小部件设置大小策略,而不是按钮(或者至少是您向我们展示的),因此选择按钮并为其设置大小策略。感谢您的热情:)。我为按钮而不是小部件设置了大小策略,我更新了上面的图片。我认为这里的问题是在布局中设置按钮。当我这样做的时候,它就像预期的那样工作。但这里的问题是我想构建独立的小部件,这意味着无论我们是否在布局中设置它,大小都会自动调整。你有其他可能的解决方案吗?当你不把它放在布局中时,Qt不会自动调整任何东西,布局是Qt的一部分,你不应该试图避免它。