QLineEdit
aと aを使用する代わりに、QLabel
2 つの QLineEdit を使用できますか?
次の点を考慮してください。
QWidget* widget = new QWidget();
// Original line edit
QLineEdit *lineEdit1 = new QLineEdit("999");
lineEdit1->setFixedWidth(100);
lineEdit1->setAlignment(Qt::AlignRight);
lineEdit1->setStyleSheet("border-width: 2px;");
// A suggestion if you want a label
QLabel *label = new QLabel("999");
label->setFixedWidth(100);
label->setAlignment(Qt::AlignRight);
label->setStyleSheet("border: 2px solid rgba(255, 0, 0, 0%)");
// Alternatively if you can use another QLineEdit
QLineEdit *lineEdit2 = new QLineEdit("999");
lineEdit2->setFixedWidth(100);
lineEdit2->setAlignment(Qt::AlignRight);
lineEdit2->setReadOnly(true);
lineEdit2->setStyleSheet("background: rgba(0, 0, 0, 0%); "
"border-width: 2px; "
"border-style: solid; "
"border-color: rgba(0, 0, 0, 0%);");
// Bring it all together
QLayout *layout = new QVBoxLayout(widget);
layout->addWidget(lineEdit1);
layout->addWidget(label);
layout->addWidget(lineEdit2);
widget->show();
すべての境界線を強制的に 2px にするため、異なるプラットフォームでも同じにする必要があります。2 番目QLineEdit
は と異なって見えるべきではありませんQLabel
(テキストの色はラベルの色よりも少し暗く見えますが、元の編集と一致するため、これは良いことかもしれません)。
QLineEdit
の代わりにを使用することの追加の利点はQLabel
、値が選択可能になったことです...
免責事項: Linux でのみテストしており、ピクセル レベルの比較は行っていません。
編集:フォントサイズが異なると配置が失敗することがわかります。