私はthis問題と同様の問題を持っていますが、その答えは私のためにうまく機能しません。コンテンツへのQLineEditの幅を調整する(と予想より短くなって)
QLineEdit要素に短いテキストが含まれています。この要素をコンテンツの幅に合わせて調整すると、テキストが余白や隠し文字なしで要素に収まるようになります。私はそのためQFontMetricsを使用しますが、シフトのビットがあるかのように右のスペースのビットがある一方で、左端の文字は、部分的に隠されているように、結果は、次のとおりです。
私のコードがあります次のようになります。
#include <QtWidgets>
int main (int argc, char** argv) {
QApplication app (argc, argv);
QLineEdit *lineEdit = new QLineEdit;
QString text = "Hello, world!";
lineEdit->setText(text);
QFontMetrics fm = lineEdit->fontMetrics();
int w = fm.boundingRect(text).width();
// int w = fm.width(text);
lineEdit->setFixedWidth(w);
lineEdit->show();
return app.exec();
}
setAlignmentで遊んでも違いはありません。
これはバグのようですが、少しずれています: 'int w = fm.width(text +" | ");' – eyllanesc