我有以下按钮
ui->setMaximumWidth(121);
ui->setMinimumWidth(121);
ui->setMaximumHeight(80);
ui->setMinimumHeight(80);
ui->pushButton->setStyleSheet ("background-color: QLinearGradient(spread:pad x1: 0, y1: 0, x2: 0, y2: 1, stop: 0.0" + "#e5e4e2" + ", stop: 0.4" + "#c0beb9" + ", stop: 1.0"+ "#e5e4e2"+");"
"color: #868479; "
"border-style: solid;"
"border-style: solid;"
"border-radius: 7;"
"padding: 3px;"
"padding-left: 5px;"
"padding-right: 5px;"
"border-color: #339;"
"border-width: 1px;"
"font:Bold;"
"font-family:Georgia");
ui->pushButton->setText("Administración de Empresas");
但是“AdministracióndeEmpresas”是一个太长的词,然后我看不到完整的短语。
Ps:我不想手动操作,我希望我的应用检测大短语并自动调整
答案 0 :(得分:0)
它应该自动适合按钮的文本。
确保以正确的方式使用QLayout。
如果您在代码中手动设置大小,可以使用sizeHint属性来获取正确的尺寸:
button->resize(button->sizeHint().width(), button->sizeHint().height());
答案 1 :(得分:0)
通常,这不是很好的实践。但是如果你需要在QPushButton上进行自动换行,你可以通过QLayout来实现:
QHBoxLayout *pLayout = new QHBoxLayout();
QLabel *pTextLabel = new QLabel();
pTextLabel->setText("This is a very very very long text");
pTextLabel->setAlignment(Qt::AlignCenter);
pTextLabel->setWordWrap(true);
pTextLabel->setTextInteractionFlags(Qt::NoTextInteraction);
pTextLabel->setMouseTracking(false);
pTextLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
pLayout->addWidget(pTextLabel);
MyButton->setText("");
MyButton->setLayout(pLayout);
但是你有自动调整大小QButton高度的问题